【问题标题】:Discord.js multi role checkDiscord.js 多角色检查
【发布时间】:2020-10-06 21:49:23
【问题描述】:

所以我一直在尝试找到一种更好的方法来检查我的不和谐机器人上的命令的多个角色到目前为止,我能做的最好的就是}else{

run(message) {
    if(message.member.roles.find("name", "Pheonix")){

        return message.say('These are dark times. . .', {files: ["./resources/videos/darktimes.mp4"]});
    }else{
        if(message.member.roles.find("name", "Renowned Wizard")){
        return message.say('These are dark times. . .', {files: ["./resources/videos/darktimes.mp4"]});
    }else{

  return message.say('*Patreon restricted.*');

我想知道是否有某种方法可以将它放入数组中并使用数组中的任何内容作为角色检查器有什么方法可以解决这个问题吗? 好的,所以我尝试添加一个数组,但我无法让它发挥作用

    var morsmordreRoles = [
        'Dev',
        'Renowned Wizard',
        'Pheonix',
        'Moderator'
    ]
    if(message.member.roles.find("name", morsemordreRoles)){

    return message.say('*You mark the sky with the presence of The Dark Lord* ', {files: ["./resources/gifs/morsmordre.gif"] });
}else{
    return message.say('*Death Eater restricted.*');
}



}
}

【问题讨论】:

    标签: javascript bots discord.js


    【解决方案1】:

    如果你想使用数组,你可以使用 foreach 和 bool 检查来检查用户是否在数组中具有任何角色,你也应该使用.cache.some 而不是find 在 discord.js v12 中见 here

    例子:

    var morsmordreRoles = [
            'Dev',
            'Renowned Wizard',
            'Pheonix',
            'Moderator'
        ]
        var hasRole = false;
        morsmordreRoles.forEach(findrole =>{
            if(message.member.roles.cache.some(role => role.name === findrole)) hasRole = true; //if user has role, sets bool to true
        })
    
        if(hasRole === true){
            //code when has role
        }
        else{
            //code when has no role
        }
    

    【讨论】:

    • 它抛出一个未定义的“一些”类型错误
    • 嗯可能是异步的
    • 这可能是因为您使用的是 discord.js v11,请检查您的 package.json,如果您使用的是 v11,请尝试切换到 v12,因为 v11 可能很快就会停止使用。如果您在切换到 v12 方面需要帮助,请尝试 this guide
    • 我更新了,现在更有意义了
    猜你喜欢
    • 2017-08-25
    • 2021-02-24
    • 2021-04-06
    • 2022-10-23
    • 1970-01-01
    • 2021-08-28
    • 2021-04-21
    • 2020-09-21
    • 2021-03-02
    相关资源
    最近更新 更多