修复获取消息发送者的bug

This commit is contained in:
eatmoreapple 2021-12-17 13:15:46 +08:00
parent 3718d6c2bc
commit ed69f3ea3a

View File

@ -87,6 +87,9 @@ func (m *Message) SenderInGroup() (*User, error) {
if err := group.Detail(); err != nil { if err := group.Detail(); err != nil {
return nil, err return nil, err
} }
if group.IsFriend() {
return group, nil
}
users := group.MemberList.SearchByUserName(1, m.senderInGroupUserName) users := group.MemberList.SearchByUserName(1, m.senderInGroupUserName)
if users == nil { if users == nil {
return nil, ErrNoSuchUserFoundError return nil, ErrNoSuchUserFoundError
@ -388,7 +391,7 @@ func (m *Message) init(bot *Bot) {
m.Raw = raw m.Raw = raw
// 如果是群消息 // 如果是群消息
if m.IsSendByGroup() { if m.IsSendByGroup() {
if m.IsText() { if !m.IsSystem() {
// 将Username和正文分开 // 将Username和正文分开
data := strings.Split(m.Content, ":<br/>") data := strings.Split(m.Content, ":<br/>")
m.Content = strings.Join(data[1:], "") m.Content = strings.Join(data[1:], "")
@ -683,7 +686,7 @@ func (a AppMessageData) IsFile() bool {
// IsComeFromGroup 判断消息是否来自群组 // IsComeFromGroup 判断消息是否来自群组
// 可能是自己或者别的群员发送 // 可能是自己或者别的群员发送
func (m *Message) IsComeFromGroup() bool { func (m *Message) IsComeFromGroup() bool {
return m.IsSendByGroup() || strings.HasPrefix(m.ToUserName, "@@") return m.IsSendByGroup() || (strings.HasPrefix(m.ToUserName, "@@") && m.IsSendBySelf())
} }
func (m *Message) String() string { func (m *Message) String() string {