修复获取消息发送频繁获取详情导致操作频繁的问题
This commit is contained in:
parent
5b35d2014a
commit
01233fa544
16
message.go
16
message.go
@ -63,8 +63,17 @@ func (m *Message) Sender() (*User, error) {
|
|||||||
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 := &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
|
return user, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,9 +95,6 @@ func (m *Message) SenderInGroup() (*User, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err := group.Detail(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if group.IsFriend() {
|
if group.IsFriend() {
|
||||||
return group, nil
|
return group, nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user