我需要检查用户是否具有预定义的角色,如果具有该角色,请将其删除。如果不是,则发送一条消息,说明内容。
let user = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
let muterole = message.guild.roles.find(x => x.name === "Muted");
if (user.roles.has(muterole)) user.removeRole(muterole);
if (!user.roles.has(muterole)) message.channel.send("This user does not have the muted role!");
如果user
拥有该角色,我希望它删除该角色,如果没有,则发送一条消息。
但是,我当前的结果是,无论他是否担任Muted
角色,它都会发送消息,如果他确实具有它,则不会删除它。
我的最终目标是这个。我的mute
命令使用node ms
,因此我可以静音指定的时间,因此我需要取消静音,但是如果用户取消静音,则不会停止计时器(我认为没有计时器方式),所以我的想法是输入静音命令->“如果用户在一段时间后拥有mute
角色,但是如果用户没有mute
角色,则返回”
答案 0 :(得分:0)
这可能有助于检测成员是否具有角色
// assuming role.id is an actual ID of a valid role:
if(message.member.roles.has(role.id)) {
console.log(`Yay, the author of the message has the role!`);
} else {
console.log(`author does not have the role`);
}