Discord.js - Cooldown for a command for each user not all users

前端 未结 2 1482
心在旅途
心在旅途 2020-12-19 19:39

I am developing a discord.js bot and I want to make a cooldown for a command.

I saw a lot of tutorials on how to do it on Google, but all those tutorials do it for a

2条回答
  •  [愿得一人]
    2020-12-19 20:02

    Yes it is easy and possible.

    Add this at the top of your JS file:

    // First, this must be at the top level of your code, **NOT** in any event!
    const talkedRecently = new Set();
    

    Now in the command event add this:

        if (talkedRecently.has(msg.author.id)) {
                msg.channel.send("Wait 1 minute before getting typing this again. - " + msg.author);
        } else {
    
               // the user can type the command ... your command code goes here :)
    
            // Adds the user to the set so that they can't talk for a minute
            talkedRecently.add(msg.author.id);
            setTimeout(() => {
              // Removes the user from the set after a minute
              talkedRecently.delete(msg.author.id);
            }, 60000);
        }
    

提交回复
热议问题