summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-10-07 02:16:02 -0700
committerFuwn <[email protected]>2025-10-07 02:16:02 -0700
commit639f41007e22e3c71cb5156c8bec6577da0d78b1 (patch)
treeaac15f514229cd7b974a82d55a91cda025debfcd
parentfix(gateway:messageDeletion): Remove "Deleted By" field from embed (diff)
downloadumabotdiscord-639f41007e22e3c71cb5156c8bec6577da0d78b1.tar.xz
umabotdiscord-639f41007e22e3c71cb5156c8bec6577da0d78b1.zip
feat(gateway:listeners): Add botMentionAutoDelete module
-rw-r--r--packages/gateway/src/listeners/messageCreate/botMentionAutoDelete.ts28
-rw-r--r--packages/gateway/src/listeners/messageCreate/index.ts2
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;