diff options
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/gateway/src/constants.ts | 1 | ||||
| -rw-r--r-- | packages/gateway/src/listeners/messageDeletion.ts | 18 | ||||
| -rw-r--r-- | packages/gateway/src/listeners/messageEdit.ts | 15 | ||||
| -rw-r--r-- | packages/shared/index.ts | 1 |
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 |