diff options
| author | Fuwn <[email protected]> | 2025-10-04 02:11:37 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-10-04 02:11:37 -0700 |
| commit | f503a2178d7461fd3689c65c64b4c73ce7a11177 (patch) | |
| tree | 7f344ec049e3b67a013be9b3cbb6ce5264729048 | |
| parent | fix(interactions:commands): Allow BOT_DM context for certain slash commands (diff) | |
| download | umabotdiscord-f503a2178d7461fd3689c65c64b4c73ce7a11177.tar.xz umabotdiscord-f503a2178d7461fd3689c65c64b4c73ce7a11177.zip | |
feat(gateway:listeners): Multi-guild support for messageDeletion and messageEdit listeners
| -rw-r--r-- | packages/gateway/src/listeners/messageDeletion.ts | 12 | ||||
| -rw-r--r-- | packages/gateway/src/listeners/messageEdit.ts | 13 |
2 files changed, 16 insertions, 9 deletions
diff --git a/packages/gateway/src/listeners/messageDeletion.ts b/packages/gateway/src/listeners/messageDeletion.ts index 5cbdad4..e0a73a4 100644 --- a/packages/gateway/src/listeners/messageDeletion.ts +++ b/packages/gateway/src/listeners/messageDeletion.ts @@ -2,11 +2,14 @@ import { Client, Events, EmbedBuilder } from "discord.js"; import { GUILD_ID } from "../constants"; import { sendAuditLog } from "../commands/utilities"; -const EDIT_LOG_CHANNEL_ID = "1422501525678198855"; +const GUILD_CHANNEL_MAPPINGS = { + "1406422617724026901": "1422501525678198855", // Central guild + "1423919136974835782": "1423919143920603141", // Roleplay guild +} as const; export const handleMessageDeletion = (client: Client) => { client.on(Events.MessageDelete, async (deletedMessage) => { - if (deletedMessage.guildId !== GUILD_ID) return; + if (!deletedMessage.guildId || !(deletedMessage.guildId in GUILD_CHANNEL_MAPPINGS)) return; if (deletedMessage.author?.bot) return; @@ -21,6 +24,7 @@ export const handleMessageDeletion = (client: Client) => { const author = deletedMessage.author; const content = deletedMessage.content || "*No text content*"; const attachments = deletedMessage.attachments; + const guildChannelId = GUILD_CHANNEL_MAPPINGS[deletedMessage.guildId as keyof typeof GUILD_CHANNEL_MAPPINGS]; const embed = new EmbedBuilder() .setTitle("🗑️ Message Deleted") @@ -82,7 +86,7 @@ export const handleMessageDeletion = (client: Client) => { if (isBotOrOwner) { await sendAuditLog(client, embed); } else { - await sendAuditLog(client, embed, undefined, EDIT_LOG_CHANNEL_ID); + await sendAuditLog(client, embed, undefined, guildChannelId); } } else { let additionalContent = ""; @@ -106,7 +110,7 @@ export const handleMessageDeletion = (client: Client) => { client, embed, additionalContent, - EDIT_LOG_CHANNEL_ID, + guildChannelId, ); } } diff --git a/packages/gateway/src/listeners/messageEdit.ts b/packages/gateway/src/listeners/messageEdit.ts index 23be688..9375b8d 100644 --- a/packages/gateway/src/listeners/messageEdit.ts +++ b/packages/gateway/src/listeners/messageEdit.ts @@ -1,12 +1,14 @@ import { Client, Events, EmbedBuilder } from "discord.js"; -import { GUILD_ID } from "../constants"; import { sendAuditLog } from "../commands/utilities"; -const EDIT_LOG_CHANNEL_ID = "1422501525678198855"; +const GUILD_CHANNEL_MAPPINGS = { + "1406422617724026901": "1422501525678198855", // Central guild + "1423919136974835782": "1423919143920603141", // Roleplay guild +} as const; export const handleMessageEdit = (client: Client) => { client.on(Events.MessageUpdate, async (oldMessage, newMessage) => { - if (newMessage.guildId !== GUILD_ID) return; + if (!newMessage.guildId || !(newMessage.guildId in GUILD_CHANNEL_MAPPINGS)) return; if (newMessage.author?.bot) return; @@ -23,6 +25,7 @@ export const handleMessageEdit = (client: Client) => { const author = newMessage.author; const oldContent = oldMessage.content || "*No text content*"; const newContent = newMessage.content || "*No text content*"; + const guildChannelId = GUILD_CHANNEL_MAPPINGS[newMessage.guildId as keyof typeof GUILD_CHANNEL_MAPPINGS]; const embed = new EmbedBuilder() .setTitle("✏️ Message Edited") .setColor("#ffaa00") @@ -85,7 +88,7 @@ export const handleMessageEdit = (client: Client) => { client, embed, additionalContent, - EDIT_LOG_CHANNEL_ID, + guildChannelId, ); } } else { @@ -97,7 +100,7 @@ export const handleMessageEdit = (client: Client) => { if (isBotOrOwner) { await sendAuditLog(client, embed); } else { - await sendAuditLog(client, embed, undefined, EDIT_LOG_CHANNEL_ID); + await sendAuditLog(client, embed, undefined, guildChannelId); } } } catch (error) { |