Javascript 有没有办法让命令自行重置,这样它就不会';你不回应两次吗?

Javascript 有没有办法让命令自行重置,这样它就不会';你不回应两次吗?,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我在猜数字命令,当猜到数字时,你可以继续发送垃圾邮件,它会响应 我需要它,这样命令会自动重置,您必须再次运行它。有办法做到这一点吗?以下是我的命令代码: module.exports={ 名字:“猜”, description:“激活命令后猜一个数字”, 异步执行(客户端、消息、参数、不协调){ 常数=[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”]; const randomNumber=数字[Math.floor(Math.random()*numbers

我在猜数字命令,当猜到数字时,你可以继续发送垃圾邮件,它会响应

我需要它,这样命令会自动重置,您必须再次运行它。有办法做到这一点吗?以下是我的命令代码:

module.exports={
名字:“猜”,
description:“激活命令后猜一个数字”,
异步执行(客户端、消息、参数、不协调){
常数=[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”];
const randomNumber=数字[Math.floor(Math.random()*numbers.length)];
让embed=newdiscord.MessageEmbed().setColor(#FF0000”).setTitle(“猜1到10之间的数字!”);
message.channel.send(嵌入);
等待客户端。打开(“消息”,(消息)=>{
如果(message.content==`${randomNumber}`){
message.channel.send(“你猜对了!”);
}
});
},
};

顺便说一下,我使用的是动态处理程序,因此您不会看到是什么激活了该命令。

您不能在事件侦听器中添加事件侦听器。导出的对象已在客户机上('message',fn)中

这是一个完美的用例。当您希望bot在发送第一个命令后接收其他输入时,收集器非常有用

您可以设置筛选器,以便仅从键入命令的用户收集消息。您还可以使用
time
选项设置时间限制,或者使用

在('collect)事件中,您可以检查响应是否有效,并基于此发送消息。当猜测到正确的数字时,我们使用
collector.end()
方法停止收集更多消息

检查下面的工作示例;我也添加了一些评论:

异步执行(客户端、消息、参数、不协调){
常量数=['1','2','3','4','5','6','7','8','9','10'];
const randomNumber=数字[Math.floor(Math.random()*numbers.length)];
const maxWait=30000;//以毫秒为单位,因此是30秒
const embed=new Discord.MessageEmbed()
.setColor(“#FF0000”)
.setTitle('猜1到10之间的数字!