diff options
Diffstat (limited to 'packages')
| -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; |