forked from lxh/go-wxhelper
✨ 新增迎新操作
This commit is contained in:
parent
697f5560a4
commit
d08937563a
@ -31,6 +31,7 @@ func Parse(remoteAddr net.Addr, msg []byte) {
|
|||||||
// 消息撤回
|
// 消息撤回
|
||||||
case types.MsgTypeSys:
|
case types.MsgTypeSys:
|
||||||
// 系统消息
|
// 系统消息
|
||||||
|
go handleSysMessage(m)
|
||||||
default:
|
default:
|
||||||
// 默认消息处理
|
// 默认消息处理
|
||||||
groupUser = strings.Split(m.Content, "\n")[0]
|
groupUser = strings.Split(m.Content, "\n")[0]
|
||||||
|
19
handler/sys_message.go
Normal file
19
handler/sys_message.go
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
package handler
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go-wechat/model"
|
||||||
|
"go-wechat/utils"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
// handleSysMessage
|
||||||
|
// @description: 系统消息处理
|
||||||
|
// @param m
|
||||||
|
func handleSysMessage(m model.Message) {
|
||||||
|
// 有人进群
|
||||||
|
if strings.Contains(m.Content, "\"邀请\"") && strings.Contains(m.Content, "\"加入了群聊") {
|
||||||
|
// 发一张图乐呵乐呵
|
||||||
|
// 自己欢迎自己图片地址 D:\Share\emoticon\welcome-yourself.gif
|
||||||
|
utils.SendImage(m.FromUser, "D:\\Share\\emoticon\\welcome-yourself.gif", 0)
|
||||||
|
}
|
||||||
|
}
|
@ -38,3 +38,35 @@ func SendMessage(toId, atId, msg string, retryCount int) {
|
|||||||
}
|
}
|
||||||
log.Printf("发送文本消息结果: %s", resp.String())
|
log.Printf("发送文本消息结果: %s", resp.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SendImage
|
||||||
|
// @description: 发送图片
|
||||||
|
// @param toId string 群或者好友Id
|
||||||
|
// @param imgPath string 图片路径
|
||||||
|
// @param retryCount int 重试次数
|
||||||
|
func SendImage(toId, imgPath string, retryCount int) {
|
||||||
|
if retryCount > 5 {
|
||||||
|
log.Printf("重试五次失败,停止发送")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 组装参数
|
||||||
|
param := map[string]any{
|
||||||
|
"wxid": toId, // 群或好友Id
|
||||||
|
"imagePath": imgPath, // 图片地址
|
||||||
|
}
|
||||||
|
pbs, _ := json.Marshal(param)
|
||||||
|
|
||||||
|
res := resty.New()
|
||||||
|
resp, err := res.R().
|
||||||
|
SetHeader("Content-Type", "application/json;chartset=utf-8").
|
||||||
|
SetBody(string(pbs)).
|
||||||
|
Post(config.Conf.Wechat.GetURL("/api/sendImagesMsg"))
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("发送图片消息失败: %s", err.Error())
|
||||||
|
// 休眠五秒后重新发送
|
||||||
|
time.Sleep(5 * time.Second)
|
||||||
|
SendImage(toId, imgPath, retryCount+1)
|
||||||
|
}
|
||||||
|
log.Printf("发送图片消息结果: %s", resp.String())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user