修复desktop版找不到文件传输助手的问题

This commit is contained in:
eatMoreApple 2021-04-28 11:37:47 +08:00
parent 71172e5aff
commit 1b5aaae9fd
3 changed files with 29 additions and 1 deletions

1
bot.go
View File

@ -115,6 +115,7 @@ func (b *Bot) Login() error {
} }
} }
// 用户退出
func (b *Bot) Logout() error { func (b *Bot) Logout() error {
if b.Alive() { if b.Alive() {
info := b.storage.LoginInfo info := b.storage.LoginInfo

View File

@ -236,3 +236,22 @@ func TestHotLogin(t *testing.T) {
} }
t.Log(self.NickName) 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")
}

10
user.go
View File

@ -176,7 +176,7 @@ func (s *Self) FileHelper() (*Friend, error) {
} }
users := members.SearchByUserName(1, "filehelper") users := members.SearchByUserName(1, "filehelper")
if users == nil { if users == nil {
return nil, noSuchUserFoundError return NewFriendHelper(s), nil
} }
s.fileHelper = &Friend{users.First()} s.fileHelper = &Friend{users.First()}
return s.fileHelper, nil return s.fileHelper, nil
@ -524,3 +524,11 @@ func (m Members) Search(limit int, condFuncList ...func(user *User) bool) (resul
} }
return return
} }
// 这里为了兼容Desktop版本找不到文件传输助手的问题
// 文件传输助手的微信身份标识符永远是filehelper
// 这种形式的对象可能缺少一些其他属性
// 但是不影响发送信息的功能
func NewFriendHelper(self *Self) *Friend {
return &Friend{&User{UserName: "filehelper", Self: self}}
}