查看用户是否是具有 hasPermission 和提及的管理员

See if a user is admin with hasPermission and mentions

我最近一直在尝试制作一个 Discord Bot,并且在这部分停留了一段时间。我基本上是在尝试制作一个 Embed,发送播放器的配置文件,该配置文件被不同的信息 ping 过,比如他的 name/ID/in 他是哪个语音频道等。问题是,我不知道如何制作我创建的 "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 :)

哦,我刚注意到:

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

你不能在那个 if 上加上 return,因为它会停止做剩下的事情。
而只是做 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()
//...