Discord.JS - 查找用户是否有角色

时间:2021-04-10 22:17:21

标签: discord.js

我正在执行最基本的静音命令,我需要查找用户是否拥有名为“静音”的角色

我已经添加了下面的代码,但一直出现错误。

 if (command === "mute") {
    const { member, mentions } = message
     const mutee = message.mentions.users.first();  
     const muter = message.author
     console.log(mutee)

     if(member.hasPermission('ADMINISTRATOR')) {
       let muteRole = message.guild.roles.cache.find(role => role.name === "Muted");
     if (message.guild.members.get(mutee.id).roles.cache.has(muteRole.id)) {
       message.channel.send(new MessageEmbed() .setTitle(`Uh Oh!`) .setDescription(`${mutee.user} already has been Muted!`))
     }
     else {

     }
     }
   }

1 个答案:

答案 0 :(得分:0)

首先,我建议您直接获取提到的成员,而不是使用 const mutee = message.mentions.members.first(); 获取用户。 (如果你在公会频道下使用命令)

然后,您可以简单地检查他是否具有以下角色:

if (mutee.roles.cache.has(muteRole.id))