Here is the code:
const Discord = require('discord.js');
const client = new Discord.Client()
const KeepClientOn = require('./KeepClientOn.js')
client.on("message", function(message) {
message.reply('my message');
})
client.login('client login')
after the message is replied I want there to be a 5 minute delay before it can reply again BUT not reply to any messages sent before then. Here is pretty much what I want: Me: hi Bot: my message Me (2 minutes later): hi again Bot: (Sends nothing) 5 minutes later: Me: Hello once again Bot: my message
(Sorry for so much stuff)
Well, I have two solutions for you.
You can use setTimeout(), it's a javascript function who only needs two arguments. The first one is the function who's going to get executed after a certain timeout and the second one is how much milliseconds does you code need to wait before doing that function.
message.channel.send('Hi!')
setTimeout(function(){
message.channel.send('Hi again.. !')
},1000 * 10) // 1000 milliseconds multiplied by 10, therefore 10 second.
This one is pretty similar to the one before but this time you won't put your code on a function. You can just create a function like so :
let sleep = async (ms) => await new Promise(r => setTimeout(r,ms));
And here you have a sleep function, it will freeze your current code for x milliseconds then continue as if nothing happens,
let sleep = async (ms) => await new Promise(r => setTimeout(r,ms));
message.channel.send('Going to sleep!')
await sleep(2000)
message.channel.send("I'm awake!!")