Merge pull request #122 from eatmoreapple/update-message-agree

Message.Agree :新增同意好友请求后返回新添加的好友
This commit is contained in:
多吃点苹果 2022-11-12 22:06:48 +08:00 committed by GitHub
commit f84c06f81f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 4 deletions

View File

@ -342,11 +342,19 @@ func (m *Message) RevokeMsg() (*RevokeMsg, error) {
}
// Agree 同意好友的请求
func (m *Message) Agree(verifyContents ...string) error {
func (m *Message) Agree(verifyContents ...string) (*Friend, error) {
if !m.IsFriendAdd() {
return fmt.Errorf("friend add message required")
return nil, errors.New("friend add message required")
}
return m.Bot.Caller.WebWxVerifyUser(m.Bot.Storage, m.RecommendInfo, strings.Join(verifyContents, ""))
err := m.Bot.Caller.WebWxVerifyUser(m.Bot.Storage, m.RecommendInfo, strings.Join(verifyContents, ""))
if err != nil {
return nil, err
}
friend := newFriend(m.RecommendInfo.UserName, m.Bot.self)
if err = friend.Detail(); err != nil {
return nil, err
}
return friend, nil
}
// AsRead 将消息设置为已读

View File

@ -641,12 +641,16 @@ func (m Members) init(self *Self) {
}
}
func newFriend(username string, self *Self) *Friend {
return &Friend{&User{UserName: username, Self: self}}
}
// NewFriendHelper 这里为了兼容Desktop版本找不到文件传输助手的问题
// 文件传输助手的微信身份标识符永远是filehelper
// 这种形式的对象可能缺少一些其他属性
// 但是不影响发送信息的功能
func NewFriendHelper(self *Self) *Friend {
return &Friend{&User{UserName: "filehelper", Self: self}}
return newFriend("filehelper", self)
}
// SendTextToMp 发送文本消息给公众号