Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何进行倒计时编辑而不是逐个发送消息?_Javascript_Node.js_Discord_Discord.js_Bots - Fatal编程技术网

Javascript 如何进行倒计时编辑而不是逐个发送消息?

Javascript 如何进行倒计时编辑而不是逐个发送消息?,javascript,node.js,discord,discord.js,bots,Javascript,Node.js,Discord,Discord.js,Bots,我正在执行倒计时命令,以下是我目前的代码: let count = args[1] const counter = setInterval(() => { if (count > 0) { message.channel.send(count) count-- } else { clearInterval(counter) } }, 1000) 现在,计时器发送的数字如下: 1 2 3 4 5 我只希望它出现在一条消息中,然后在不和谐中编辑它

我正在执行倒计时命令,以下是我目前的代码:

let count = args[1]

const counter = setInterval(() => {
  if (count > 0) {
    message.channel.send(count)
    count--
  } else {
    clearInterval(counter)
  }
}, 1000)
现在,计时器发送的数字如下:

1
2
3
4
5
我只希望它出现在一条消息中,然后在不和谐中编辑它自己

下面是如何在Discord.JS中编辑(示例):


你知道怎么做吗?

你可以通过async/await来做,这就是方法:-

    msg = await message.channel.send('1');
function intervalFunc() {
   msg.edit('2');
}
function twoFunc() {
   msg.edit('3');
}

setInterval(intervalFunc, 1000);
setInterval(twoFunc, 2000)

希望有帮助

这样就可以了

let count=args[1]
让我们倒计时信息;
常量计数器=设置间隔(异步()=>{
如果(count==args[1]){//仅为第一次
等待message.channel.send(count).then(msg=>{CountDownMessage=msg}
计数--;
}否则,如果(计数>0){
CountDownMessage.edit(count);
计数--;
}否则{
倒计时消息。编辑(“时间到了”);
清除间隔(计数器);
}
}, 1000);

现在,您不必每次都创建一个函数?@Elitezen不起作用有比硬编码更好的方法更新计时器2functions@Elitezen这取决于作者的创造性,你也可以使用函数和变量。这只是一个例子…请记住,计时器消息被认为是API垃圾邮件,因为API调用每秒钟进行一次,如果继续,这可能导致暂停前任
    msg = await message.channel.send('1');
function intervalFunc() {
   msg.edit('2');
}
function twoFunc() {
   msg.edit('3');
}

setInterval(intervalFunc, 1000);
setInterval(twoFunc, 2000)