summaryrefslogtreecommitdiff
path: root/packages/gateway
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gateway')
-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;