diff --git a/bot.ts b/bot.ts index 6c2d65738..81e6be1d5 100644 --- a/bot.ts +++ b/bot.ts @@ -147,6 +147,7 @@ export function createEventHandlers( guildMemberUpdate: events.guildMemberUpdate ?? ignore, messageCreate: events.messageCreate ?? ignore, messageDelete: events.messageDelete ?? ignore, + messageDeleteBulk: events.messageDeleteBulk ?? ignore, messageUpdate: events.messageUpdate ?? ignore, reactionAdd: events.reactionAdd ?? ignore, reactionRemove: events.reactionRemove ?? ignore, @@ -466,8 +467,8 @@ export interface EventHandlers { messageDelete: ( bot: Bot, payload: { id: bigint; channelId: bigint; guildId?: bigint }, - message?: Message, ) => any; + messageDeleteBulk: (bot: Bot, payload: { ids: bigint[]; channelId: bigint; guildId?: bigint; }) => any; messageUpdate: ( bot: Bot, message: Message, diff --git a/handlers/messages/MESSAGE_DELETE_BULK.ts b/handlers/messages/MESSAGE_DELETE_BULK.ts index 4ba3be443..6fd856e64 100644 --- a/handlers/messages/MESSAGE_DELETE_BULK.ts +++ b/handlers/messages/MESSAGE_DELETE_BULK.ts @@ -7,11 +7,9 @@ export async function handleMessageDeleteBulk(bot: Bot, data: DiscordGatewayPayl const channelId = bot.transformers.snowflake(payload.channel_id); const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined; - payload.ids.forEach((id) => - bot.events.messageDelete(bot, { - id: bot.transformers.snowflake(id), - channelId, - guildId, - }) - ); + bot.events.messageDeleteBulk(bot, { + ids: payload.ids.map((id) => bot.transformers.snowflake(id)), + channelId: bot.transformers.snowflake(payload.channel_id), + guildId: payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined, + }); }