From ae97b6fdf9d1166fc2bfef78a8d23eca1f08b4ae Mon Sep 17 00:00:00 2001 From: Fuwn Date: Tue, 7 Oct 2025 23:50:08 -0700 Subject: fix(gateway:messageDeletion): Better handle privilged actions --- packages/gateway/src/listeners/messageDeletion.ts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'packages') diff --git a/packages/gateway/src/listeners/messageDeletion.ts b/packages/gateway/src/listeners/messageDeletion.ts index 9c9c6f1..992091f 100644 --- a/packages/gateway/src/listeners/messageDeletion.ts +++ b/packages/gateway/src/listeners/messageDeletion.ts @@ -36,10 +36,26 @@ export const handleMessageDeletion = (client: Client) => { try { const auditLogs = await guild?.fetchAuditLogs({ - limit: 1, + limit: 10, type: 72, // MESSAGE_DELETE }); - const deletionLog = auditLogs?.entries.first(); + + if (!auditLogs || auditLogs.entries.size === 0) return; + + const messageTimestamp = deletedMessage.createdTimestamp; + let deletionLog = null; + + for (const [, entry] of auditLogs.entries) { + const timeDifference = Math.abs( + entry.createdTimestamp - messageTimestamp, + ); + + if (timeDifference <= 5000) { + deletionLog = entry; + + break; + } + } if (deletionLog) { const deleterId = deletionLog.executor?.id; -- cgit v1.2.3