diff --git a/bot/events/messageCreate.ts b/bot/events/messageCreate.ts index 307df70..6f145e2 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 = 30 * 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 +});