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:
parent
c1a36caa99
commit
b1ca827187
30
coolq/bot.go
30
coolq/bot.go
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user