Как вернуть команду при упоминании бота? - PullRequest
0 голосов
/ 14 июля 2020

Это начало моей команды. Я пробовал 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 голосов
/ 14 июля 2020

member === bot - неправильный способ проверить, является ли участник ботом. Помните, что знак === проверяет, равны ли переменные по обе стороны от него (в случае тройного равенства также проверяется, относятся ли они к одному типу). bot не является переменной, которую вы объявили, так что это не то, как вы это делаете.

Вместо этого проверьте свойство user члена, который является пользователем, стоящим за объектом члена. Проверяя документацию , вы обнаружите, что у пользователя есть логическое свойство с именем bot, которое сообщает, бот вы это или нет. Таким образом, правильный способ проверить, является ли участник ботом:

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

Или, конечно, упрощенно:

if(member.user.bot) {
    //Do stuff
}
0 голосов
/ 14 июля 2020

Попробуйте следующее:

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