From 1b5aaae9fd16007944f67cf618f1058921cce9d1 Mon Sep 17 00:00:00 2001 From: eatMoreApple <15055461510@163.com> Date: Wed, 28 Apr 2021 11:37:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Ddesktop=E7=89=88=E6=89=BE?= =?UTF-8?q?=E4=B8=8D=E5=88=B0=E6=96=87=E4=BB=B6=E4=BC=A0=E8=BE=93=E5=8A=A9?= =?UTF-8?q?=E6=89=8B=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot.go | 1 + bot_test.go | 19 +++++++++++++++++++ user.go | 10 +++++++++- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/bot.go b/bot.go index 6d2af6c..f57c88b 100644 --- a/bot.go +++ b/bot.go @@ -115,6 +115,7 @@ func (b *Bot) Login() error { } } +// 用户退出 func (b *Bot) Logout() error { if b.Alive() { info := b.storage.LoginInfo diff --git a/bot_test.go b/bot_test.go index 43e2f4a..3c484c8 100644 --- a/bot_test.go +++ b/bot_test.go @@ -236,3 +236,22 @@ func TestHotLogin(t *testing.T) { } t.Log(self.NickName) } + +func TestFriendHelper(t *testing.T) { + bot := defaultBot(Desktop) + if err := bot.Login(); err != nil { + t.Error(err) + return + } + self, err := bot.GetCurrentUser() + if err != nil { + t.Error(err) + return + } + fh, err := self.FileHelper() + if err != nil { + t.Error(err) + return + } + fh.SendText("test message") +} diff --git a/user.go b/user.go index 937c3b1..7575263 100644 --- a/user.go +++ b/user.go @@ -176,7 +176,7 @@ func (s *Self) FileHelper() (*Friend, error) { } users := members.SearchByUserName(1, "filehelper") if users == nil { - return nil, noSuchUserFoundError + return NewFriendHelper(s), nil } s.fileHelper = &Friend{users.First()} return s.fileHelper, nil @@ -524,3 +524,11 @@ func (m Members) Search(limit int, condFuncList ...func(user *User) bool) (resul } return } + +// 这里为了兼容Desktop版本找不到文件传输助手的问题 +// 文件传输助手的微信身份标识符永远是filehelper +// 这种形式的对象可能缺少一些其他属性 +// 但是不影响发送信息的功能 +func NewFriendHelper(self *Self) *Friend { + return &Friend{&User{UserName: "filehelper", Self: self}} +}