如果提到了机器人,如何使命令返回?

时间:2020-07-14 16:09:12

标签: javascript node.js discord.js quick.db

这是我命令的开始。我尝试了if(member === bot) return message.channel.send("You can't rob bots") 但这没有用,任何帮助将不胜感激

client.on('message', async message => {
  if(message.content.startsWith("$$rob")) {
const member = message.mentions.members.first()
if(!member) return message.channel.send("You need to mention a user to rob them")

2 个答案:

答案 0 :(得分:0)

member === bot不是检查成员是否为机器人的正确方法。请记住,===符号检查其两侧的变量是否相等(在三重相等的情况下,还要检查它们是否具有相同的类型)。 bot不是您声明的变量,因此这不是您执行的方式。

相反,请检查成员的user属性,该属性是成员对象后面的用户。检查documentation,您会发现用户具有一个名为bot的布尔属性,该属性会告诉您是否是机器人。因此,通过以下方式检查成员是否为机器人的正确方法:

if(member.user.bot === true) {
    //Do stuff
}

或者当然是简化的:

if(member.user.bot) {
    //Do stuff
}

答案 1 :(得分:-1)

尝试一下:

if(member.user.bot) {
    return message.channel.send("You can't rob bots")
}