diff options
| author | Fuwn <[email protected]> | 2025-10-07 02:16:02 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-10-07 02:16:02 -0700 |
| commit | 639f41007e22e3c71cb5156c8bec6577da0d78b1 (patch) | |
| tree | aac15f514229cd7b974a82d55a91cda025debfcd | |
| parent | fix(gateway:messageDeletion): Remove "Deleted By" field from embed (diff) | |
| download | umabotdiscord-639f41007e22e3c71cb5156c8bec6577da0d78b1.tar.xz umabotdiscord-639f41007e22e3c71cb5156c8bec6577da0d78b1.zip | |
feat(gateway:listeners): Add botMentionAutoDelete module
| -rw-r--r-- | packages/gateway/src/listeners/messageCreate/botMentionAutoDelete.ts | 28 | ||||
| -rw-r--r-- | packages/gateway/src/listeners/messageCreate/index.ts | 2 |
2 files changed, 30 insertions, 0 deletions
diff --git a/packages/gateway/src/listeners/messageCreate/botMentionAutoDelete.ts b/packages/gateway/src/listeners/messageCreate/botMentionAutoDelete.ts new file mode 100644 index 0000000..005c8ea --- /dev/null +++ b/packages/gateway/src/listeners/messageCreate/botMentionAutoDelete.ts @@ -0,0 +1,28 @@ +import { Message } from "discord.js"; +import { BOT_ID } from "../../constants"; + +export function handleBotMentionAutoDelete(message: Message): void { + if (!message.guildId) return; + + const botMentioned = + message.mentions.users.has(BOT_ID) || + message.content.includes(`<@${BOT_ID}>`) || + message.content.includes(`<@!${BOT_ID}>`); + + if (!botMentioned) return; + + if (message.author.id === BOT_ID) return; + + if (message.guild?.ownerId === message.author.id) return; + + setTimeout( + async () => { + try { + await message.delete(); + } catch (error) { + console.error("Error deleting bot mention message:", error); + } + }, + 5 * 60 * 1000, + ); +} diff --git a/packages/gateway/src/listeners/messageCreate/index.ts b/packages/gateway/src/listeners/messageCreate/index.ts index 197d7c1..b05e098 100644 --- a/packages/gateway/src/listeners/messageCreate/index.ts +++ b/packages/gateway/src/listeners/messageCreate/index.ts @@ -8,6 +8,7 @@ import { handleRoleMentionCooldown } from "./roleMentionCooldown"; import { handleAICommand } from "./aiCommandHandler"; import { handleRandomEyesReaction } from "./randomEyesReaction"; import { handleRoleplayThumbsUpReaction } from "./roleplayThumbsUpReaction"; +import { handleBotMentionAutoDelete } from "./botMentionAutoDelete"; import { recordMessageForStatistics } from "../messageStatistics"; export const handleMessageCreate = (client: Client) => { @@ -16,6 +17,7 @@ export const handleMessageCreate = (client: Client) => { await handleRoleplayUmagram(message); await handleRandomEyesReaction(message); await handleRoleplayThumbsUpReaction(message); + handleBotMentionAutoDelete(message); if (message.guildId !== CENTRAL_GUILD_ID) return; |