1
0
mirror of https://github.com/fumiama/NanoBot.git synced 2026-06-10 21:24:43 +08:00

fix: message delete

This commit is contained in:
源文雨
2023-10-18 15:17:30 +09:00
parent 88aede89dc
commit a6a961da65
4 changed files with 37 additions and 45 deletions

View File

@@ -52,6 +52,11 @@ func (bot *Bot) processEvent(payload *WebsocketPayload) {
fallthrough
case "MessageCreate", "AtMessageCreate":
tp = "Message"
case "DirectMessageDelete":
ctx.IsToMe = true
fallthrough
case "MessageDelete", "PublicMessageDelete":
tp = "MessageDelete"
}
matcherLock.RLock()
n := len(matcherMap[tp])
@@ -78,6 +83,19 @@ func (bot *Bot) processEvent(payload *WebsocketPayload) {
ctx.IsToMe = true
}
log.Infoln(getLogHeader(), "=>", ctx.Message)
case "MessageDelete":
mdl := (*MessageDelete)(x.UnsafePointer())
opmember, err := ctx.GetGuildMemberOf(mdl.Message.GuildID, mdl.OpUser.ID)
if err != nil {
log.Warnln(getLogHeader(), "获取撤回消息者详情错误:", err)
return
}
ctx.Message = (*MessageDelete)(x.UnsafePointer()).Message
ctx.Message.Member = &Member{
GuildID: mdl.Message.GuildID,
User: ctx.Message.Author,
}
ctx.Message.Author = opmember.User
}
go match(ctx, matchers)
}