diff options
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/gateway/src/listeners/messageDeletion.ts | 20 |
1 files changed, 18 insertions, 2 deletions
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; |