2 votes

Envoi d'un message 5 minutes après une commande

J'essaie de faire en sorte que mon robot discord envoie un message 5 minutes après que quelqu'un ait envoyé une commande, mais quand quelqu'un utilise la commande, il commence à envoyer le message toutes les minutes.

client.on('message', function(message) {
    if (message.content === "!command") { 
        var interval = setInterval (function () {
            client.channels.get("493228844896092162")
                .send("123")
                .catch(console.error);
        }, 1 * 5000); 
    }
});

1voto

Shubham Gupta Points 2328

Votre intervalle semble être incorrect. setInterval s'attend à ce que l'intervalle soit en millisecondes.

1 * 5000 -> 5sec

Vous devez le mettre à jour en

5 * 60 * 1000 -> 5 mins

0voto

Shammoo Points 499

setInterval prend les arguments d'une fonction et un nombre défini de millisecondes sur lesquelles se déclencher.

L'intervalle correct serait

setInterval(function(){}, 5 * 60000)

C'est 5x60 secondes

0voto

Je le coderais comme ça :

client.on('message', function(message) {
    if (message.content === "!command") { 
        var interval = setInterval (function () {
try {
            var meme = client.channels.get("493228844896092162")
                meme.send("123")
                } catch (error) {
console.log(error.stack);
        }, 5 * 60000); 
    }
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X