Discord.js在实现member.roles时遇到麻烦

问题描述 投票:0回答:1

问题:无法实现member.roles.cache.has('role-id-here');从实例。我认为是因为我没有缓存任何东西?再次不确定对动态命令的暗示。请说明如何调试这种情况。

目标:实施角色权限。

bot.on('ready', () => {
    console.log("The bot is active and ready to go!");
    bot.user.setActivity ("Only The Best Since 2020");
});

      bot.on('message', function(message) {
        if(message.content[0] === PREFIX) {
            let command = message.content.substring(message.content.indexOf(" ") + 1, message.content.length);

        }
    });

bot.on('message', message => {
    let args = message.content.substring(PREFIX.length).split(" ");

    switch(args[0].toLowerCase()) {

        case "ctr":
            bot.commands.get('ctr').execute(message, args);
        break;
javascript discord.js message roles
1个回答
0
投票

您确定使用的是Discord v12版本吗?

对于不和谐v12,您可以使用:

if (message.member.roles.cache.has('ROLE ID')) {
    //then code 
}

if (message.member.roles.cache.some(role => ['ID','ID2'].includes(role.id))) {
    //then code 
}

对于不和谐v11,您可以使用:

if (message.member.roles.has('ROLE ID')) {
    //then code 
}

if (message.member.roles.some(role => ['ID','ID2'].includes(role.id))) {
    //then code 
}
© www.soinside.com 2019 - 2024. All rights reserved.