From 84e2dc175b97dfe747e2289fe265d55a04e1a6d7 Mon Sep 17 00:00:00 2001 From: eatmoreapple Date: Sat, 12 Nov 2022 22:04:58 +0800 Subject: [PATCH] =?UTF-8?q?Message.Agree=20=EF=BC=9A=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=90=8C=E6=84=8F=E5=A5=BD=E5=8F=8B=E8=AF=B7=E6=B1=82=E5=90=8E?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=96=B0=E6=B7=BB=E5=8A=A0=E7=9A=84=E5=A5=BD?= =?UTF-8?q?=E5=8F=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- message.go | 14 +++++++++++--- user.go | 6 +++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/message.go b/message.go index f97b1fc..fbedc72 100644 --- a/message.go +++ b/message.go @@ -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 将消息设置为已读 diff --git a/user.go b/user.go index ab3367a..691c644 100644 --- a/user.go +++ b/user.go @@ -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 发送文本消息给公众号