我正在尝试使用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}`);
一切正常,除了应该检查该用户是否已经具有该特定角色的代码。在输出中,它总是表明用户已经具有该角色,即使他实际上没有该角色。
答案 0 :(得分:0)
if(message.member.roles.cache.find(r => r.name === rAddName))
这是在检查是否发送消息的成员具有该角色,如果我正确理解,您想将该角色添加到命令消息中提到的成员中。 / p>