修复接受单向好友消息时找不到sender的bug 🐛

This commit is contained in:
eatMoreApple 2021-05-09 18:07:32 +08:00
parent d0238a00ae
commit 992c05f3fb
2 changed files with 5 additions and 9 deletions

View File

@ -56,18 +56,11 @@ type Message struct {
// 获取消息的发送者 // 获取消息的发送者
func (m *Message) Sender() (*User, error) { func (m *Message) Sender() (*User, error) {
members, err := m.Bot.self.Members(true)
if err != nil {
return nil, err
}
if m.FromUserName == m.Bot.self.User.UserName { if m.FromUserName == m.Bot.self.User.UserName {
return m.Bot.self.User, nil return m.Bot.self.User, nil
} }
user := members.SearchByUserName(1, m.FromUserName) user := &User{Self: m.Bot.self, UserName: m.FromUserName}
if user == nil { return user.Detail()
return nil, noSuchUserFoundError
}
return user.First().Detail()
} }
// 获取消息在群里面的发送者 // 获取消息在群里面的发送者

View File

@ -81,6 +81,9 @@ func (u *User) SaveAvatar(filename string) error {
// 获取用户的详情 // 获取用户的详情
func (u *User) Detail() (*User, error) { func (u *User) Detail() (*User, error) {
if u.UserName == u.Self.UserName {
return u.Self.User, nil
}
members := Members{u} members := Members{u}
request := u.Self.Bot.storage.Request request := u.Self.Bot.storage.Request
newMembers, err := u.Self.Bot.Caller.WebWxBatchGetContact(members, request) newMembers, err := u.Self.Bot.Caller.WebWxBatchGetContact(members, request)