【问题标题】:Avoiding respond to a bots避免响应机器人
【发布时间】:2021-12-20 05:13:54
【问题描述】:

我正在开发 discord bot 并将 ping 命令作为测试,但它会循环,因为它会自行响应。但是,如果我在每个命令中都加上message.author.bot === false,我的代码就会一团糟!

client.on("message", message => {
  if(message.content === "ping" && message.author.bot === false){
    message.channel.send("pong")
  } else if(message.content === "pong" && message.author.bot === false){
    message.channel.send("ping")
  }
})

有没有更好的方法来解决这个问题?

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    您需要将if(message.author.bot) return; 放在client.on("message", message => { 之后,结果得到:

    client.on("message", message => {
      if(message.author.bot) return;
      if(message.content === "ping" && message.author.bot === false){
        message.channel.send("pong")
      } else if(message.content === "pong" && message.author.bot === false){
        message.channel.send("ping")
      }
    })
    

    忽略来自机器人的消息

    【讨论】:

    • 但我还需要输入&& message.author.bot === false
    • @Sussy 不,如果你只添加一次它应该对你完全有帮助,但是按照我告诉你的添加它
    • 啊,我明白了,谢谢!
    • @Sussy np,试试这个代码,如果对你有帮助,请将我的答案标记为正确!
    • 它的工作!非常感谢!
    猜你喜欢
    • 2019-11-06
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2011-03-17
    • 1970-01-01
    • 2012-05-09
    相关资源
    最近更新 更多