Discord.js消息在每次执行后重复

Discord.js消息在每次执行后重复,discord.js,Discord.js,每当我去测试我的机器人时,它会第一次工作,然后每次执行时都会重复(如果命令使用3次,它会重复3次) 提前感谢:)您需要将您的if语句放入消息事件中,并放置或来收集消息 在这里,我使用awaitMessage来标识发送消息的人是发送admin:)的同一作者 bot.on('message',异步消息=>{ if(message.author.bot)返回; 如果(message.content==“admin”){ 等待消息。回复('Enter test2'); const filter=m=>m

每当我去测试我的机器人时,它会第一次工作,然后每次执行时都会重复(如果命令使用3次,它会重复3次)


提前感谢:)

您需要将您的
if
语句放入
消息事件中,并放置来收集消息

在这里,我使用
awaitMessage
来标识发送消息的人是发送admin:)的同一作者

bot.on('message',异步消息=>{
if(message.author.bot)返回;
如果(message.content==“admin”){
等待消息。回复('Enter test2');
const filter=m=>m.author.id==message.author.id;
等待消息。通道。等待消息(过滤器{
最大匹配:1,
时间:30000
})。然后(收集=>{
const _first=collected.first().content.toLowerCase();
如果(_first==“test2”){
message.channel.send(“确定!”)
}
}).catch(()=>{
返回消息。回复('30秒后无应答,操作已取消');
});
}
})

保持安全$

事件侦听器中是否有事件侦听器?i、 e.
bot.on('message')…
内部
bot.on('message')…
?这不是检查响应的正确方法。您应该查看收集器:
  if (message.author.bot) return;
  if(message.content === 'admin') {
    message.channel.send('please type test2');
    bot.on('message', message => {
      if(message.content === 'test2') {
        message.channel.send('ok:D');
        return;
      }
    })
  }
})