diff --git a/message.go b/message.go index f89c74f..376a787 100644 --- a/message.go +++ b/message.go @@ -56,18 +56,11 @@ type Message struct { // 获取消息的发送者 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 { return m.Bot.self.User, nil } - user := members.SearchByUserName(1, m.FromUserName) - if user == nil { - return nil, noSuchUserFoundError - } - return user.First().Detail() + user := &User{Self: m.Bot.self, UserName: m.FromUserName} + return user.Detail() } // 获取消息在群里面的发送者 diff --git a/user.go b/user.go index e7fdc17..c7959fc 100644 --- a/user.go +++ b/user.go @@ -81,6 +81,9 @@ func (u *User) SaveAvatar(filename string) error { // 获取用户的详情 func (u *User) Detail() (*User, error) { + if u.UserName == u.Self.UserName { + return u.Self.User, nil + } members := Members{u} request := u.Self.Bot.storage.Request newMembers, err := u.Self.Bot.Caller.WebWxBatchGetContact(members, request)