summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-10-06 22:09:53 -0700
committerFuwn <[email protected]>2025-10-06 22:09:53 -0700
commit023c84ec3c315c836adf140ca1d5411d76e955fc (patch)
treeecf3b20a7fb304713c02527b6a63842c878b5661 /packages
parentfeat(gateway:randomEyesReaction): Decrease odds (diff)
downloadumabotdiscord-023c84ec3c315c836adf140ca1d5411d76e955fc.tar.xz
umabotdiscord-023c84ec3c315c836adf140ca1d5411d76e955fc.zip
feat(gateway:listeners): Fix messageDeletion and messageEdit user-gating
Diffstat (limited to 'packages')
-rw-r--r--packages/gateway/src/constants.ts1
-rw-r--r--packages/gateway/src/listeners/messageDeletion.ts18
-rw-r--r--packages/gateway/src/listeners/messageEdit.ts15
-rw-r--r--packages/shared/index.ts1
4 files changed, 29 insertions, 6 deletions
diff --git a/packages/gateway/src/constants.ts b/packages/gateway/src/constants.ts
index ba3ec00..1a1bc0f 100644
--- a/packages/gateway/src/constants.ts
+++ b/packages/gateway/src/constants.ts
@@ -31,4 +31,5 @@ export {
STAFF_GUILD_ID,
STAFF_LOG_CHANNEL_ID,
CENTRAL_OKBUDDY_EMOJI_ID,
+ BOT_ID,
} from "../../shared";
diff --git a/packages/gateway/src/listeners/messageDeletion.ts b/packages/gateway/src/listeners/messageDeletion.ts
index a4d33f6..9c9c6f1 100644
--- a/packages/gateway/src/listeners/messageDeletion.ts
+++ b/packages/gateway/src/listeners/messageDeletion.ts
@@ -5,6 +5,7 @@ import {
ROLEPLAY_GUILD_ID,
CENTRAL_MESSAGE_LOG_CHANNEL_ID,
ROLEPLAY_MESSAGE_LOG_CHANNEL_ID,
+ BOT_ID,
} from "../constants";
const GUILD_CHANNEL_MAPPINGS = {
@@ -45,12 +46,19 @@ export const handleMessageDeletion = (client: Client) => {
const isPrivilegedDeleter =
deleterId === client.user?.id ||
deleterId === ownerId ||
- deleterId === serverOwnerId;
-
- if (isPrivilegedDeleter) return;
+ deleterId === serverOwnerId ||
+ deleterId === BOT_ID;
+ const deleterUser = deleterId
+ ? await client.users.fetch(deleterId).catch(() => null)
+ : null;
+ const isBotDeleter = deleterUser?.bot === true;
+
+ if (isPrivilegedDeleter || isBotDeleter) return;
+ } else {
+ return;
}
- } catch (error) {
- console.log("Could not fetch audit logs for message deletion:", error);
+ } catch {
+ return;
}
try {
diff --git a/packages/gateway/src/listeners/messageEdit.ts b/packages/gateway/src/listeners/messageEdit.ts
index 17da845..a233463 100644
--- a/packages/gateway/src/listeners/messageEdit.ts
+++ b/packages/gateway/src/listeners/messageEdit.ts
@@ -5,6 +5,7 @@ import {
ROLEPLAY_GUILD_ID,
CENTRAL_MESSAGE_LOG_CHANNEL_ID,
ROLEPLAY_MESSAGE_LOG_CHANNEL_ID,
+ BOT_ID,
} from "../constants";
const GUILD_CHANNEL_MAPPINGS = {
@@ -28,11 +29,23 @@ export const handleMessageEdit = (client: Client) => {
const isPrivilegedUser =
newMessage.author?.id === client.user?.id ||
newMessage.author?.id === ownerId ||
- newMessage.author?.id === serverOwnerId;
+ newMessage.author?.id === serverOwnerId ||
+ newMessage.author?.id === BOT_ID;
if (isPrivilegedUser) return;
try {
+ const editorUser = newMessage.author?.id
+ ? await client.users.fetch(newMessage.author.id).catch(() => null)
+ : null;
+ const isBotEditor = editorUser?.bot === true;
+
+ if (isBotEditor) return;
+ } catch {
+ //
+ }
+
+ try {
const channel = newMessage.channel;
const author = newMessage.author;
const oldContent = oldMessage.content || "*No text content*";
diff --git a/packages/shared/index.ts b/packages/shared/index.ts
index ed06b8c..91247c9 100644
--- a/packages/shared/index.ts
+++ b/packages/shared/index.ts
@@ -31,6 +31,7 @@ export const CENTRAL_USER_NSFW_APPLICATIONS_LOG_CHANNEL_ID =
export const STAFF_GUILD_ID = "1419211292396224575";
export const STAFF_LOG_CHANNEL_ID = "1419211778793144411";
export const CENTRAL_OKBUDDY_EMOJI_ID = "1406426721158303864";
+export const BOT_ID = "1414023617452441650";
export const COLOR_ROLE_IDS = [
"1407075059830624406", // Nice Nature Red
"1407075160250650664", // Taiki Shuttle Green