🐛 修复加群通知不提醒的BUG #69
@ -23,6 +23,12 @@ func Plugin() {
|
||||
return true
|
||||
}, plugins.SaveToDb)
|
||||
|
||||
// 通知邀请入群消息到配置用户
|
||||
dispatcher.RegisterHandler(func(m *dto.Message) bool {
|
||||
flag, _ := m.IsInvitationJoinGroup()
|
||||
return flag
|
||||
}, plugins.NotifyInvitationJoinGroup)
|
||||
|
||||
// 私聊指令消息
|
||||
dispatcher.RegisterHandler(func(m *dto.Message) bool {
|
||||
// 私聊消息 或 群聊艾特机器人并且以/开头的消息
|
||||
|
@ -209,7 +209,9 @@ func (m Message) IsInvitationJoinGroup() (flag bool, str string) {
|
||||
if err := xml.Unmarshal([]byte(m.Content), &md); err != nil {
|
||||
return
|
||||
}
|
||||
return md.AppMsg.Type == "5" && strings.Contains(md.AppMsg.Content, "邀请你加入群聊"), md.AppMsg.Des
|
||||
flag = md.AppMsg.Type == "5" && md.AppMsg.Title == "邀请你加入群聊"
|
||||
str = strings.ReplaceAll(md.AppMsg.Des, ",进入可查看详情。", "")
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -3,10 +3,8 @@ package mq
|
||||
import (
|
||||
"encoding/json"
|
||||
"go-wechat/common/current"
|
||||
"go-wechat/config"
|
||||
"go-wechat/model/dto"
|
||||
"go-wechat/types"
|
||||
"go-wechat/utils"
|
||||
"log"
|
||||
"strings"
|
||||
)
|
||||
@ -39,16 +37,6 @@ func parse(msg []byte) {
|
||||
}
|
||||
log.Printf("收到新微信消息\n消息来源: %s\n群成员: %s\n消息类型: %v\n消息内容: %s", m.FromUser, m.GroupUser, m.Type, m.Content)
|
||||
|
||||
// 如果是邀请进群,推送到配置的用户
|
||||
if flag, dec := m.IsInvitationJoinGroup(); flag {
|
||||
for _, user := range config.Conf.System.NewFriendNotify.ToUser {
|
||||
if user != "" {
|
||||
// 发送一条新消息
|
||||
utils.SendMessage(user, "", dec, 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 插件不为空,开始执行
|
||||
if p := current.GetRobotMessageHandler(); p != nil {
|
||||
p(&m)
|
||||
|
24
plugin/plugins/notify2configuser.go
Normal file
24
plugin/plugins/notify2configuser.go
Normal file
@ -0,0 +1,24 @@
|
||||
package plugins
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go-wechat/config"
|
||||
"go-wechat/plugin"
|
||||
"go-wechat/utils"
|
||||
)
|
||||
|
||||
// NotifyInvitationJoinGroup
|
||||
// @description: 通知邀请入群消息到配置用户
|
||||
// @param m
|
||||
func NotifyInvitationJoinGroup(m *plugin.MessageContext) {
|
||||
// 如果是邀请进群,推送到配置的用户
|
||||
if flag, dec := m.IsInvitationJoinGroup(); flag {
|
||||
for _, user := range config.Conf.System.NewFriendNotify.ToUser {
|
||||
if user != "" {
|
||||
// 发送一条新消息
|
||||
dec = fmt.Sprintf("#邀请入群提醒\n\n%s", dec)
|
||||
utils.SendMessage(user, "", dec, 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -3,10 +3,8 @@ package tcpserver
|
||||
import (
|
||||
"encoding/json"
|
||||
"go-wechat/common/current"
|
||||
"go-wechat/config"
|
||||
"go-wechat/model/dto"
|
||||
"go-wechat/types"
|
||||
"go-wechat/utils"
|
||||
"log"
|
||||
"net"
|
||||
"strings"
|
||||
@ -40,16 +38,6 @@ func parse(remoteAddr net.Addr, msg []byte) {
|
||||
}
|
||||
log.Printf("%s\n消息来源: %s\n群成员: %s\n消息类型: %v\n消息内容: %s", remoteAddr, m.FromUser, m.GroupUser, m.Type, m.Content)
|
||||
|
||||
// 如果是邀请进群,推送到配置的用户
|
||||
if flag, dec := m.IsInvitationJoinGroup(); flag {
|
||||
for _, user := range config.Conf.System.NewFriendNotify.ToUser {
|
||||
if user != "" {
|
||||
// 发送一条新消息
|
||||
utils.SendMessage(user, "", dec, 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 插件不为空,开始执行
|
||||
if p := current.GetRobotMessageHandler(); p != nil {
|
||||
p(&m)
|
||||
|
Loading…
Reference in New Issue
Block a user