diff options
| author | Fuwn <[email protected]> | 2025-10-07 23:50:08 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-10-07 23:50:08 -0700 |
| commit | ae97b6fdf9d1166fc2bfef78a8d23eca1f08b4ae (patch) | |
| tree | 22b50f475a954b54746c1e65a68a97938ad3233b /packages/gateway | |
| parent | feat(gateway:messageStatistics): Increase log rate (diff) | |
| download | umabotdiscord-ae97b6fdf9d1166fc2bfef78a8d23eca1f08b4ae.tar.xz umabotdiscord-ae97b6fdf9d1166fc2bfef78a8d23eca1f08b4ae.zip | |
fix(gateway:messageDeletion): Better handle privilged actions
Diffstat (limited to 'packages/gateway')
| -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; |