Посмотрите, является ли пользователь администратором с hasPermission и упоминает - PullRequest
0 голосов
/ 28 апреля 2018

Недавно я пытался создать Discord Bot, и я застрял в этой части на некоторое время. Я в основном пытаюсь создать Embed, который посылает профиль игрока, на который пингуется другая информация, такая как его имя / ID /, в каком голосовом канале он находится и т. Д. Дело в том, что я не могу понять, как сделать «isAdmin» var, который я создал, распознан.

С console.log() Я сузил свою проблему до 1 части; message.mentions.members.first() не определяется, но не читается и просто пропускает команду, как будто она никогда не вводилась. Вот мой источник:

case "profile":
    var isAdmin = "undefined";
    let profileMentionned = message.mentions.members.first();
    if (!profileMentionned) return message.channel.send("some error message")
    if (profileMentionned.hasPermission("MANAGE_MESSAGES"))
    {
        return isAdmin = "Admin boi";
    }else{
        return isAdmin = "Member pleb";
    }
    var embed = new Discord.RichEmbed()
    Embed values....

Спасибо, что ответили <3:) </p>

1 Ответ

0 голосов
/ 28 апреля 2018

О, я только что заметил:

if (profileMentionned.hasPermission("MANAGE_MESSAGES"))
{
    return isAdmin = "Admin boi";
//  ^^^^^^  
} else {
    return isAdmin = "Member pleb";
//  ^^^^^^  
}

Вы не можете получить возврат, если, потому что он просто перестанет делать все остальное.
Вместо этого просто сделайте isAdmin = "Admin boi";, чтобы что-то вроде этого работало:

var isAdmin = "undefined";
let profileMentionned = message.mentions.members.first();
if (!profileMentionned) return message.channel.send("some error message")
if (profileMentionned.hasPermission("MANAGE_MESSAGES")) {
    isAdmin = "Admin boi";
} else {
    isAdmin = "Member pleb";
}
var embed = new Discord.RichEmbed()
//...
...