为什么我的 discord bot 通过添加以下代码来发送垃圾邮件?

Why my discord bot spams messages by adding the following code?

我正在 discord.js 中为 Discord 编写一个基本的审核机器人。但是通过添加以下代码来回复“你好!”每当有人从列表中发送消息时,机器人就会发送大量“你好!”的垃圾邮件。频道中的消息。

client.on("message", async message =>{
  if (message.content == "Hi" || message.content == "hi" || message.content == "hello" || message.content == "Hello" || message.content == "hi!" || message.content == "Hi!" || message.content == "Hello!" || message.content == "hello!")
  {
    message.channel.send(`Hello!`)
  }
});

有人可以解释为什么会发生这种情况并提供解决方案吗?我试着在网上搜索,但无法正确地表达问题,所以我没有得到答案。

P.S.: 我还在学习 JavaScript 并且我正在 replit.com 中编写代码,如果这很重要的话!

正如 esqew 在他们的评论中指出的那样,您的机器人陷入了回复自己消息的事件循环中。处理此问题的一种简单方法是忽略来自所有机器人的消息,或仅忽略机器人自己的消息,如下所示。

client.on("message", async message => {
    // Method A: Ignore all Bots
    if(message.author.bot) return;

    // Method B: Ignore self only
    if(message.author.id == client.user.id) return;

    // Insert rest of event code here, etc...
});

参见 User.bot(Discord.js 文档)