diff --git a/initialization/plugin.go b/initialization/plugin.go index 54cff930..3265f667 100644 --- a/initialization/plugin.go +++ b/initialization/plugin.go @@ -33,6 +33,10 @@ func Plugin() { dispatcher.RegisterHandler(func(m *dto.Message) bool { return m.Type == types.MsgTypeSys }, plugins.NotifyRemoveFromChatroom) + // 响应好友添加成功消息 + dispatcher.RegisterHandler(func(m *dto.Message) bool { + return m.Type == types.MsgTypeSys + }, plugins.ReplyNewFriend) // 私聊指令消息 dispatcher.RegisterHandler(func(m *dto.Message) bool { diff --git a/plugin/plugins/systemmessgae.go b/plugin/plugins/systemmessgae.go new file mode 100644 index 00000000..0f8d620e --- /dev/null +++ b/plugin/plugins/systemmessgae.go @@ -0,0 +1,18 @@ +package plugins + +import ( + "go-wechat/plugin" + "go-wechat/utils" + "strings" +) + +// ReplyNewFriend +// @description: 响应好友添加成功消息 +// @param m +func ReplyNewFriend(m *plugin.MessageContext) { + isNewFriend := strings.HasPrefix(m.Content, "你已添加了") && strings.HasSuffix(m.Content, ",现在可以开始聊天了。") + isNewChatroom := strings.Contains(m.Content, "\"邀请你加入了群聊,群聊参与人还有:") + if isNewFriend || isNewChatroom { + utils.SendMessage(m.FromUser, m.GroupUser, "AI正在初始化,请稍等几分钟,初始化完成之后我将主动告知您。", 0) + } +}