首页 > 解决方案 > 避免响应机器人

问题描述

我正在研究 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")
  }
})

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

标签: javascriptnode.jsdiscorddiscord.js

解决方案


您需要放在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")
  }
})

忽略来自机器人的消息


推荐阅读