修复Reply返回的SentMessage撤回消息引发的空指针问题
This commit is contained in:
parent
d36e8dde66
commit
95a4a4d188
17
message.go
17
message.go
@ -126,7 +126,12 @@ func (m *Message) Reply(msgType MessageType, content, mediaId string) (*SentMess
|
||||
msg := NewSendMessage(msgType, content, m.Bot.self.User.UserName, m.FromUserName, mediaId)
|
||||
info := m.Bot.Storage.LoginInfo
|
||||
request := m.Bot.Storage.Request
|
||||
return m.Bot.Caller.WebWxSendMsg(msg, info, request)
|
||||
sentMessage, err := m.Bot.Caller.WebWxSendMsg(msg, info, request)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
sentMessage.Self = m.Bot.self
|
||||
return sentMessage, nil
|
||||
}
|
||||
|
||||
// ReplyText 回复文本消息
|
||||
@ -491,6 +496,16 @@ func (s *SentMessage) Revoke() error {
|
||||
return s.Self.RevokeMessage(s)
|
||||
}
|
||||
|
||||
// CanRevoke 是否可以撤回该消息
|
||||
func (s *SentMessage) CanRevoke() bool {
|
||||
i, err := strconv.ParseInt(s.ClientMsgId, 10, 64)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
start := time.Unix(i/10000000, 0)
|
||||
return time.Now().Sub(start) < time.Minute*2
|
||||
}
|
||||
|
||||
// ForwardToFriends 转发该消息给好友
|
||||
func (s *SentMessage) ForwardToFriends(friends ...*Friend) error {
|
||||
return s.Self.ForwardMessageToFriends(s, friends...)
|
||||
|
Loading…
x
Reference in New Issue
Block a user