修复获取消息发送频繁获取详情导致操作频繁的问题

This commit is contained in:
eatmoreapple 2022-12-07 13:40:16 +08:00
parent 5b35d2014a
commit 01233fa544

View File

@ -63,8 +63,17 @@ func (m *Message) Sender() (*User, error) {
if m.FromUserName == m.Bot.self.User.UserName {
return m.Bot.self.User, nil
}
user := &User{Self: m.Bot.self, UserName: m.FromUserName}
err := user.Detail()
// 首先尝试从缓存里面查找, 如果没有找到则从服务器获取
members, err := m.Bot.self.Members()
if err != nil {
return nil, err
}
user, exist := members.GetByRemarkName(m.FromUserName)
if !exist {
// 找不到, 从服务器获取
user = &User{Self: m.Bot.self, UserName: m.FromUserName}
err = user.Detail()
}
return user, err
}
@ -86,9 +95,6 @@ func (m *Message) SenderInGroup() (*User, error) {
if err != nil {
return nil, err
}
if err := group.Detail(); err != nil {
return nil, err
}
if group.IsFriend() {
return group, nil
}