Discord.js | Как сделать циклическое сообщение каждые 24 часа / в день с переменной?

#discord #discord.js

#Discord #discord.js

Вопрос:

Я здесь пытаюсь создать Discord-бота с помощью NodeJS или Discord.js . Я хочу создать сообщение, которое отправляется каждый день, но с переменной, которая также увеличивается на 1 каждый день, например, день 1: год 1, день 2: год 2 и так далее.

Но, однако, я понятия не имею, как это сделать, потому что я новичок в Discord.js . Вот мой код:

 const discord = require("discord.js");

var client = new discord.Client();

client.on('message', function(message) {
    // Now, you can use the message variable inside
    if (message.content === "$loop") {
        daytime = 0;
        var interval = setInterval (function () {
            dayResult = daytime   1;
            // use the message's channel (TextChannel) to send a new message
            message.channel.send("quack "   dayResult)
            .catch(console.error); // add error handling here
        }, 86400 * 1000); 
        
    }
});
  

1 день = 86400 секунд, если я прав.
Было бы очень полезно, если бы вы мне помогли.

Комментарии:

1. 86400 * 1000 означает 1000 дней.

2. @Jakye я почти уверен, что это равно одному дню.

3. Мой плохой. Я насчитал 86400 секунд, а не мс.

Ответ №1:

Вместо создания новой переменной вы должны просто увеличивать ее с помощью оператора

 var daytime = 0;
var interval = setInterval(() => {
 message.channel
  .send(`quack ${  daytime}`) // increment the variable
  .catch(console.error); // add error handling here
}, 86400 * 1000);
  

Пример фрагмента кода:

 var stopwatch = 0;

setInterval(() => console.log(`It's been ${  stopwatch} second(s)`), 1000);  

Комментарии:

1. Если вы не можете остановить это с ctrl c помощью, я не думаю, что проблема в коде.

2. Разве вы не установили значение setInterval один день?

3. У вас одновременно запущено несколько экземпляров вашего бота? Это объясняет обе проблемы. Попробуйте перезагрузить компьютер.

4. Нет, у меня нет нескольких экземпляров, раньше у меня была эта проблема с несколькими экземплярами, теперь эта штука рассылает спам без нескольких экземпляров