试图让机器人输入一个列表,中间有延迟

Trying to get a bot to type out a list with a delay inbetween

试图让这个机器人发送 1 到 20 条消息,一次一条,每条消息之间有延迟。 运行 进入一个错误,它没有延迟,只是毫无延迟地发送 20 个垃圾邮件。

bot.on('message', function(message) {

let prefix = botconfig.prefix;
let messageArray = message.content.split(" ");
let cmd = messageArray[0];
let args = messageArray.slice(1);

    if (cmd === `${prefix}loop`){
      var i;
      while(i < 20){
         var myVar = setInterval(myTimer, 2000)
         function myTimer(){
            message.channel.send(i);
         }
         i++;   
      }
    }
});

如果有人能给我指明正确的方向,我将不胜感激。

您可以设置一个间隔,每秒打印和递增 i,然后在达到 20 时销毁计时器。

if (cmd === `${prefix}loop`) {
  var i = 0;
  var timer = setInterval(function() {
    message.channel.send(++i);
    if (i === 20) clearInterval(timer);
  }, 1000);
}