.包括多次射击

.includes firing muiltple times

我正在尝试测试从 user/client 发送的消息(字符串)是否包含一个词,然后它会从 2 个随机响应中选择 1 个并且它有效,但是它发送的消息太多了次。

client.on("messageCreate", message => {
  if(message.content.includes("dream")) {
   var msgnumber= (Math.floor((Math.random() * 2) + 1));
    console.log(msgnumber);
    if (msgnumber===1) {
         message.channel.send("did someone say dream!?");
    } else if (msgnumber===2) {
         message.channel.send("why we talkin' about dream... huh!?")
    }
  }
})

如果发送的消息包含关键字,它会随机选择一条消息,一个问题是它发送了太多次。

The output message

您的机器人正在自行激活。每当它 post 发送包含“梦想”的消息时,它都会看到该消息,并决定 post 回复,从而创建一个无限循环。尝试在检查消息是否包含“梦想”的位置上方添加行 if (msg.author.bot) return;。这将提前退出函数并避免循环。