修复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 {
if b.Alive() {
info := b.storage.LoginInfo

View File

@ -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")
}

10
user.go
View File

@ -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}}
}