summaryrefslogtreecommitdiff
path: root/packages/gateway
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-10-07 23:50:08 -0700
committerFuwn <[email protected]>2025-10-07 23:50:08 -0700
commitae97b6fdf9d1166fc2bfef78a8d23eca1f08b4ae (patch)
tree22b50f475a954b54746c1e65a68a97938ad3233b /packages/gateway
parentfeat(gateway:messageStatistics): Increase log rate (diff)
downloadumabotdiscord-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.ts20
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;