hotfix #26

Merged
李寻欢 merged 3 commits from hotfix into main 2024-03-07 10:04:47 +08:00
3 changed files with 18 additions and 2 deletions

View File

@ -88,7 +88,13 @@ func (m Message) IsRevokeMsg() bool {
// @receiver m // @receiver m
// @return bool // @return bool
func (m Message) IsNewUserJoin() bool { func (m Message) IsNewUserJoin() bool {
sysFlag := m.Type == types.MsgTypeSys && strings.Contains(m.Content, "\"邀请\"") && strings.Contains(m.Content, "\"加入了群聊") if m.Type != types.MsgTypeSys {
return false
}
isInvitation := strings.Contains(m.Content, "\"邀请\"") && strings.Contains(m.Content, "\"加入了群聊")
isScanQrCode := strings.Contains(m.Content, "通过扫描") && strings.Contains(m.Content, "加入群聊")
sysFlag := isInvitation || isScanQrCode
if sysFlag { if sysFlag {
return true return true
} }
@ -97,7 +103,7 @@ func (m Message) IsNewUserJoin() bool {
if err := xml.Unmarshal([]byte(m.Content), &d); err != nil { if err := xml.Unmarshal([]byte(m.Content), &d); err != nil {
return false return false
} }
return m.Type == types.MsgTypeSys && d.Type == "delchatroommember" return d.Type == "delchatroommember"
} }
// IsAt // IsAt

View File

@ -22,6 +22,11 @@ func parse(msg []byte) {
// 记录原始数据 // 记录原始数据
m.Raw = string(msg) m.Raw = string(msg)
// 如果不是自己的消息,直接返回
if m.ToUser == current.GetRobotInfo().WxId {
return
}
// 提取出群成员信息 // 提取出群成员信息
// Sys类型的消息正文不包含微信 Id所以不需要处理 // Sys类型的消息正文不包含微信 Id所以不需要处理
if m.IsGroup() && m.Type != types.MsgTypeSys { if m.IsGroup() && m.Type != types.MsgTypeSys {

View File

@ -23,6 +23,11 @@ func parse(remoteAddr net.Addr, msg []byte) {
// 记录原始数据 // 记录原始数据
m.Raw = string(msg) m.Raw = string(msg)
// 如果不是自己的消息,直接返回
if m.ToUser == current.GetRobotInfo().WxId {
return
}
// 提取出群成员信息 // 提取出群成员信息
// Sys类型的消息正文不包含微信 Id所以不需要处理 // Sys类型的消息正文不包含微信 Id所以不需要处理
if m.IsGroup() && m.Type != types.MsgTypeSys { if m.IsGroup() && m.Type != types.MsgTypeSys {