1
0
mirror of https://github.com/Mrs4s/go-cqhttp.git synced 2025-05-06 12:03:50 +08:00

feat self group message event.

This commit is contained in:
Mrs4s 2021-02-19 21:04:34 +08:00
parent c1a36caa99
commit b1ca827187

View File

@ -61,6 +61,7 @@ func NewQQBot(cli *client.QQClient, conf *global.JSONConfig) *CQBot {
} }
bot.Client.OnPrivateMessage(bot.privateMessageEvent) bot.Client.OnPrivateMessage(bot.privateMessageEvent)
bot.Client.OnGroupMessage(bot.groupMessageEvent) bot.Client.OnGroupMessage(bot.groupMessageEvent)
bot.Client.OnSelfGroupMessage(bot.groupMessageEvent)
bot.Client.OnTempMessage(bot.tempMessageEvent) bot.Client.OnTempMessage(bot.tempMessageEvent)
bot.Client.OnGroupMuted(bot.groupMutedEvent) bot.Client.OnGroupMuted(bot.groupMutedEvent)
bot.Client.OnGroupMessageRecalled(bot.groupRecallEvent) bot.Client.OnGroupMessageRecalled(bot.groupRecallEvent)
@ -391,15 +392,20 @@ func (bot *CQBot) dispatchEventMessage(m MSG) {
func (bot *CQBot) formatGroupMessage(m *message.GroupMessage) MSG { func (bot *CQBot) formatGroupMessage(m *message.GroupMessage) MSG {
cqm := ToStringMessage(m.Elements, m.GroupCode, true) cqm := ToStringMessage(m.Elements, m.GroupCode, true)
gm := MSG{ gm := MSG{
"anonymous": nil, "anonymous": nil,
"font": 0, "font": 0,
"group_id": m.GroupCode, "group_id": m.GroupCode,
"message": ToFormattedMessage(m.Elements, m.GroupCode, false), "message": ToFormattedMessage(m.Elements, m.GroupCode, false),
"message_type": "group", "message_type": func() string {
"message_seq": m.Id, if m.Sender.Uin == bot.Client.Uin {
"post_type": "message", return "group_self"
"raw_message": cqm, }
"self_id": bot.Client.Uin, return "group"
}(),
"message_seq": m.Id,
"post_type": "message",
"raw_message": cqm,
"self_id": bot.Client.Uin,
"sender": MSG{ "sender": MSG{
"age": 0, "age": 0,
"area": "", "area": "",
@ -422,7 +428,7 @@ func (bot *CQBot) formatGroupMessage(m *message.GroupMessage) MSG {
} else { } else {
group := bot.Client.FindGroup(m.GroupCode) group := bot.Client.FindGroup(m.GroupCode)
mem := group.FindMember(m.Sender.Uin) mem := group.FindMember(m.Sender.Uin)
if mem == nil{ if mem == nil {
log.Warnf("获取 %v 成员信息失败,尝试刷新成员列表", m.Sender.Uin) log.Warnf("获取 %v 成员信息失败,尝试刷新成员列表", m.Sender.Uin)
t, err := bot.Client.GetGroupMembers(group) t, err := bot.Client.GetGroupMembers(group)
if err != nil { if err != nil {
@ -431,8 +437,8 @@ func (bot *CQBot) formatGroupMessage(m *message.GroupMessage) MSG {
} }
group.Members = t group.Members = t
mem = group.FindMember(m.Sender.Uin) mem = group.FindMember(m.Sender.Uin)
if mem != nil{ if mem != nil {
return Failed(100,"MEMBER_NOT_FOUND","群员不存在") return Failed(100, "MEMBER_NOT_FOUND", "群员不存在")
} }
} }
ms := gm["sender"].(MSG) ms := gm["sender"].(MSG)