From 63b03f3306e5e6332a82ceac4fb87e7da28eaaa3 Mon Sep 17 00:00:00 2001 From: ToastedToast Date: Thu, 11 Jul 2024 18:38:41 +0800 Subject: [PATCH 1/2] feat(xp): add cooldown --- bot/events/messageCreate.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/bot/events/messageCreate.ts b/bot/events/messageCreate.ts index 307df70..44a455b 100644 --- a/bot/events/messageCreate.ts +++ b/bot/events/messageCreate.ts @@ -2,17 +2,25 @@ import { Message } from 'discord.js'; import client from '../index'; import { makePOSTRequest, updateGuildInfo } from '../utils/requestAPI'; +const cooldowns = new Map(); +const cooldownTime = 5 * 1000; + // Run this event whenever a message has been sent client.on('messageCreate', async (message: Message) => { if (message.author.bot) return; + + const cooldown = cooldowns.get(message.author.id); + if (cooldown && Date.now() - cooldown < cooldownTime) return; + const xpToGive: number = message.content.length; const pfp: string = message.member?.displayAvatarURL() ?? message.author.displayAvatarURL() const name: string = message.author.username; const nickname: string = message.member?.nickname ?? message.author.globalName ?? message.author.username; await makePOSTRequest(message.guildId as string, message.author.id, xpToGive, pfp, name, nickname); + cooldowns.set(message.author.id, Date.now()); const guildName = message.guild?.name; const guildIcon = message.guild?.iconURL() ?? 'https://cdn.discordapp.com/embed/avatars/0.png'; const guildMembers = message.guild?.memberCount; await updateGuildInfo(message.guildId as string, guildName as string, guildIcon as string, guildMembers as number); -}); \ No newline at end of file +}); From 61be2ab34dd2130a6605493baabadba8e4c85d91 Mon Sep 17 00:00:00 2001 From: ToastedToast Date: Thu, 11 Jul 2024 18:41:37 +0800 Subject: [PATCH 2/2] fix(xp): actual cooldown --- bot/events/messageCreate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot/events/messageCreate.ts b/bot/events/messageCreate.ts index 44a455b..6f145e2 100644 --- a/bot/events/messageCreate.ts +++ b/bot/events/messageCreate.ts @@ -3,7 +3,7 @@ import client from '../index'; import { makePOSTRequest, updateGuildInfo } from '../utils/requestAPI'; const cooldowns = new Map(); -const cooldownTime = 5 * 1000; +const cooldownTime = 30 * 1000; // Run this event whenever a message has been sent client.on('messageCreate', async (message: Message) => {