添加消息已读功能
This commit is contained in:
parent
6e683358ef
commit
825dc51bf9
@ -327,6 +327,15 @@ func (c *Caller) WebWxRevokeMsg(msg *SentMessage, request *BaseRequest) error {
|
||||
return parseBaseResponseError(resp)
|
||||
}
|
||||
|
||||
// WebWxStatusAsRead 将消息设置为已读
|
||||
func (c *Caller) WebWxStatusAsRead(request *BaseRequest, info *LoginInfo, msg *Message) error {
|
||||
resp, err := c.Client.WebWxStatusAsRead(request, info, msg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return parseBaseResponseError(resp)
|
||||
}
|
||||
|
||||
// 处理响应返回的结果是否正常
|
||||
func parseBaseResponseError(resp *http.Response) error {
|
||||
defer resp.Body.Close()
|
||||
|
19
client.go
19
client.go
@ -655,3 +655,22 @@ func (c *Client) webWxCheckUpload(stat os.FileInfo, request *BaseRequest, fileMd
|
||||
req.Header.Add("Content-Type", jsonContentType)
|
||||
return c.Do(req)
|
||||
}
|
||||
|
||||
func (c *Client) WebWxStatusAsRead(request *BaseRequest, info *LoginInfo, msg *Message) (*http.Response, error) {
|
||||
path, _ := url.Parse(c.domain.BaseHost() + webwxstatusnotify)
|
||||
content := map[string]interface{}{
|
||||
"BaseRequest": request,
|
||||
"DeviceID": request.DeviceID,
|
||||
"Sid": request.Sid,
|
||||
"Skey": request.Skey,
|
||||
"Uin": info.WxUin,
|
||||
"ClientMsgId": time.Now().Unix(),
|
||||
"Code": 1,
|
||||
"FromUserName": msg.ToUserName,
|
||||
"ToUserName": msg.FromUserName,
|
||||
}
|
||||
body, _ := ToBuffer(content)
|
||||
req, _ := http.NewRequest(http.MethodPost, path.String(), body)
|
||||
req.Header.Add("Content-Type", jsonContentType)
|
||||
return c.Do(req)
|
||||
}
|
||||
|
@ -287,6 +287,11 @@ func (m *Message) Agree(verifyContents ...string) error {
|
||||
return m.Bot.Caller.WebWxVerifyUser(m.Bot.storage, m.RecommendInfo, builder.String())
|
||||
}
|
||||
|
||||
// AsRead 将消息设置为已读
|
||||
func (m *Message) AsRead() error {
|
||||
return m.Bot.Caller.WebWxStatusAsRead(m.Bot.storage.Request, m.Bot.storage.LoginInfo, m)
|
||||
}
|
||||
|
||||
// Set 往消息上下文中设置值
|
||||
// goroutine safe
|
||||
func (m *Message) Set(key string, value interface{}) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user