0
votes

So I'm working on a Discord Bot that uses discord.js, a node.js wrapper for the Discord API. Basically the code works like this:

/*
  A ping pong bot, whenever you send "ping", it replies "pong".
*/

// import the discord.js module
const Discord = require('discord.js');

// create an instance of a Discord Client, and call it bot
const bot = new Discord.Client();

// the token of your bot - https://discordapp.com/developers/applications/me
const token = 'your bot token here';

// create an event listener for messages
bot.on('message', message => {
  // if the message is "ping",
  if (message.content === 'ping') {
    // send "pong" to the same channel.
    message.channel.sendMessage('pong');
  }
});
bot.login(token);

But my question is, how can I make it so that a user can only use the "ping" command with a cooldown of 3 seconds. To do this you would need the user ID, and that would be message.author.id if you were wondering. Thanks in advance.

1

1 Answers

0
votes

You could use an array for the "blocked" users. Everytime an user uses the ping command you add the id to the array and use setTimeout(function(){},3000) to delete it again.