how to set a cooldown for a command discord,js code example
Example 1: How to make add cooldowns to a command in discord.js
const talkedRecently = new Set();
if (talkedRecently.has(msg.author.id)) {
msg.channel.send("Wait 1 minute before getting typing this again. - " + msg.author);
} else {
talkedRecently.add(msg.author.id);
setTimeout(() => {
talkedRecently.delete(msg.author.id);
}, 60000);
}
Example 2: super cooldown discord.js
If you create an object of cooldowns you can get how much time they would have left by subtracting the date from the cooldown.
Like so:
var cooldowns = {}
var minute = 60000;
var hour = minute * 24;
cooldowns[message.author.id] = Date.now() + hour * 24;
if(cooldowns[message.author.id]){
if(cooldowns[message.author.id] > Date.now()) delete cooldowns[message.author.id];
else console.log("user still has " + Math.round((cooldowns[message.author.id] - Date.now)/minute) + " minutes left")
}