diff --git a/handler/parse.go b/handler/parse.go index 494261e..c031eaa 100644 --- a/handler/parse.go +++ b/handler/parse.go @@ -24,9 +24,8 @@ func Parse(remoteAddr net.Addr, msg []byte) { return } // 提取出群成员信息 - //groupUser := "" - //msgStr := m.Content - if strings.Contains(m.FromUser, "@") { + // Sys类型的消息正文不包含微信 Id,所以不需要处理 + if m.IsGroup() && m.Type != types.MsgTypeSys { // 群消息,处理一下消息和发信人 groupUser := strings.Split(m.Content, "\n")[0] groupUser = strings.ReplaceAll(groupUser, ":", "") diff --git a/model/message.go b/model/message.go index 1465c7a..43531df 100644 --- a/model/message.go +++ b/model/message.go @@ -33,6 +33,10 @@ type systemMsgDataXml struct { // @description: 消息主体 type sysMsg struct{} +func (m Message) IsGroup() bool { + return strings.HasSuffix(m.FromUser, "@chatroom") +} + // IsPat // @description: 是否是拍一拍消息 // @receiver m