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

标签 javascript node.js discord.js

尝试让此机器人发送 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);
}

关于javascript - 尝试让机器人输入一个列表,中间有延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52600911/

相关文章:

javascript - Stripe : ERR_BLOCKED_BY_RESPONSE

javascript - (节点:199408) DeprecationWarning: Collection#find: pass a function instead

javascript - Discord.js |检测消息是否包含表情符号

javascript - Jquery:延迟和淡入多个div onload?

javascript - 从具有 anchor 和图像标签的输入更新列表的 html

javascript - JS 卡在一个 do while 循环上

javascript - 如何在nuxt url中删除/?fbclid=...

javascript - NodeJS 中用于 Alexa Lambda 的 API key

node.js - 对已解决的 promise node.js 的响应缓慢

javascript - Discord.js Bot 忽略前缀并将响应前面的任何内容