找出用户是否具有特定角色

时间:2020-05-19 12:43:34

标签: javascript discord.js

我正在尝试使用discord.js命令!addrole将角色添加到指定用户。代码是

    //[prefix]roleadd [role]

    if(cmd != `${prefix}roleadd`) return;

    let rAddUser = message.guild.member(message.mentions.users.first() || message.guild.members.cache.get(args[0]));
    if(!rAddUser) return message.channel.send('Utente non valido');

    let rAddName = args.join(' ').slice(23);
    if(!rAddName) return message.channel.send('Specifica un ruolo');

    let rAddRole = rAddUser.guild.roles.cache.find(role => role.name === rAddName);
    if(!rAddRole) return message.channel.send('Ruolo non valido');

    if(message.member.roles.cache.find(r => r.name === rAddName))
    return message.channel.send(`A ${rAddUser.user.username}#${rAddUser.user.discriminator} è già stato assegnato il ruolo "${rAddName}"`)


    message.channel.send(`Ruolo "${rAddName}" aggiunto a ${rAddUser.user.username}#${rAddUser.user.discriminator}`);

一切正常,除了应该检查该用户是否已经具有该特定角色的代码。在输出中,它总是表明用户已经具有该角色,即使他实际上没有该角色。

1 个答案:

答案 0 :(得分:0)

    if(message.member.roles.cache.find(r => r.name === rAddName))

这是在检查是否发送消息的成员具有该角色,如果我正确理解,您想将该角色添加到命令消息中提到的成员中。 / p>