From 8d126f401914d68fa8a97f7e5986dcfcc42de9a8 Mon Sep 17 00:00:00 2001 From: Rory& Date: Tue, 4 Aug 2026 12:46:40 +0200 Subject: [PATCH] Message bulk delete: filter input IDs by channel rather than emitting the full input set --- src/api/routes/channels/#channel_id/messages/bulk-delete.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/api/routes/channels/#channel_id/messages/bulk-delete.ts b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts index f976a4d7e..c6f0e29a6 100644 --- a/src/api/routes/channels/#channel_id/messages/bulk-delete.ts +++ b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts @@ -65,12 +65,14 @@ router.post( if (messages.length > maxBulkDelete) throw new HTTPError(`You cannot delete more than ${maxBulkDelete} messages`); } - await Message.delete({ id: In(messages), channel_id: channel_id }); + const messageIdsInChannel = (await Message.find({ where: { id: In(messages), channel_id: channel_id }, select: { id: true } })).map((x) => x.id); + + await Message.delete({ id: In(messageIdsInChannel), channel_id: channel_id }); await emitEvent({ event: "MESSAGE_DELETE_BULK", channel_id, - data: { ids: messages, channel_id, guild_id: channel.guild_id }, + data: { ids: messageIdsInChannel, channel_id, guild_id: channel.guild_id }, } satisfies MessageDeleteBulkEvent); res.sendStatus(204);