Compare commits
No commits in common. "f396a7f674f8f88ab7d958667a958d071f887bdf" and "df05070e0bcef4b46d4b337e007013a97dede7e7" have entirely different histories.
f396a7f674
...
df05070e0b
@ -32,39 +32,6 @@ type systemMsgDataXml struct {
|
|||||||
Type string `xml:"type,attr"`
|
Type string `xml:"type,attr"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// appMsgDataXml
|
|
||||||
// @description: 微信app消息的xml结构
|
|
||||||
type appMsgDataXml struct {
|
|
||||||
XMLName xml.Name `xml:"msg"`
|
|
||||||
Text string `xml:",chardata"`
|
|
||||||
AppMsg struct {
|
|
||||||
Text string `xml:",chardata"`
|
|
||||||
Appid string `xml:"appid,attr"`
|
|
||||||
SdkVer string `xml:"sdkver,attr"`
|
|
||||||
Title string `xml:"title"`
|
|
||||||
Des string `xml:"des"`
|
|
||||||
Action string `xml:"action"`
|
|
||||||
Type string `xml:"type"`
|
|
||||||
ShowType string `xml:"showtype"`
|
|
||||||
Content string `xml:"content"`
|
|
||||||
URL string `xml:"url"`
|
|
||||||
ThumbUrl string `xml:"thumburl"`
|
|
||||||
LowUrl string `xml:"lowurl"`
|
|
||||||
AppAttach struct {
|
|
||||||
Text string `xml:",chardata"`
|
|
||||||
TotalLen string `xml:"totallen"`
|
|
||||||
AttachId string `xml:"attachid"`
|
|
||||||
FileExt string `xml:"fileext"`
|
|
||||||
} `xml:"appattach"`
|
|
||||||
ExtInfo string `xml:"extinfo"`
|
|
||||||
} `xml:"appmsg"`
|
|
||||||
AppInfo struct {
|
|
||||||
Text string `xml:",chardata"`
|
|
||||||
Version string `xml:"version"`
|
|
||||||
AppName string `xml:"appname"`
|
|
||||||
} `xml:"appinfo"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// atMsgDataXml
|
// atMsgDataXml
|
||||||
// @description: 微信@消息的xml结构
|
// @description: 微信@消息的xml结构
|
||||||
type atMsgDataXml struct {
|
type atMsgDataXml struct {
|
||||||
@ -196,20 +163,3 @@ func (m Message) CleanContentStartWith(prefix string) bool {
|
|||||||
|
|
||||||
return strings.HasPrefix(content, prefix)
|
return strings.HasPrefix(content, prefix)
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsInvitationJoinGroup
|
|
||||||
// @description: 是否是邀请入群消息
|
|
||||||
// @receiver m
|
|
||||||
// @return bool 是否是邀请入群消息
|
|
||||||
// @return string 邀请入群消息内容
|
|
||||||
func (m Message) IsInvitationJoinGroup() (flag bool, str string) {
|
|
||||||
if m.Type == types.MsgTypeApp {
|
|
||||||
// 解析xml
|
|
||||||
var md appMsgDataXml
|
|
||||||
if err := xml.Unmarshal([]byte(m.Content), &md); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
return md.AppMsg.Type == "5" && strings.Contains(md.AppMsg.Content, "邀请你加入群聊"), md.AppMsg.Des
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
@ -3,10 +3,8 @@ package mq
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"go-wechat/common/current"
|
"go-wechat/common/current"
|
||||||
"go-wechat/config"
|
|
||||||
"go-wechat/model"
|
"go-wechat/model"
|
||||||
"go-wechat/types"
|
"go-wechat/types"
|
||||||
"go-wechat/utils"
|
|
||||||
"log"
|
"log"
|
||||||
"strings"
|
"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)
|
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 {
|
if p := current.GetRobotMessageHandler(); p != nil {
|
||||||
p(&m)
|
p(&m)
|
||||||
|
@ -24,7 +24,7 @@ func DailyNews() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
newsStr := fmt.Sprintf("#每日早报\n\n又是新的一天了,让我们康康一觉醒来世界又发生了哪些变化~\n\n%s", strings.Join(news, "\n \n"))
|
newsStr := fmt.Sprintf("#每日早报\n\n又是新的一天了,让我们康康一觉醒来世界又发生了哪些变化~\n\n%s", strings.Join(news, "\n"))
|
||||||
|
|
||||||
// 循环发送新闻
|
// 循环发送新闻
|
||||||
for _, group := range groups {
|
for _, group := range groups {
|
||||||
|
@ -3,10 +3,8 @@ package tcpserver
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"go-wechat/common/current"
|
"go-wechat/common/current"
|
||||||
"go-wechat/config"
|
|
||||||
"go-wechat/model"
|
"go-wechat/model"
|
||||||
"go-wechat/types"
|
"go-wechat/types"
|
||||||
"go-wechat/utils"
|
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
"strings"
|
"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)
|
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 {
|
if p := current.GetRobotMessageHandler(); p != nil {
|
||||||
p(&m)
|
p(&m)
|
||||||
|
Loading…
Reference in New Issue
Block a user