首页 > 解决方案 > 我如何将角色与用户进行比较或查看给定的所需角色是否是他们的最高角色?

问题描述

highest role如果他们尝试过,我怎样才能让我的机器人不接受消息作者?

我尝试使用if(message.member.roles.highest.position = gRole.position),但它没有用。

我的代码:

  
   if (!message.member.hasPermission("MANAGE_ROLES")) return message.channel.send("你没有权限使用这个!");
  
  让成员 = message.mentions.members.first()
    if(!member) return message.channel.send("你必须提到一个用户来分配/删除角色")
  
      if(message.member.roles.highest.position < member.roles.highest.position) return message.channel.send("您不能分配/删除角色高于您的某人的角色")  
  
  让角色 = args[2]
  if(!role) return message.channel.send("提供要分配/删除的角色名称")
  
  让 gRole = message.guild.roles.cache.find(r => r.name.toLowerCase() === role.toLowerCase())
  
      if(message.member.roles.highest.position < gRole.position) {
message.channel.send("那个角色高于你的最高角色,无法管理")
  } 别的 {

}
  
    if(!gRole) return message.channel.send(`找不到角色\`${role}\``)
  
        if(message.member.roles.highest.position > gRole.position) {
  if(!member.roles.cache.has(gRole.id)) {
等待 member.roles.add(gRole.id)
    message.channel.send(`角色\`${role}\`已添加到**${member.user.username}**`)
} 别的 {
等待 member.roles.remove(gRole.id)
    message.channel.send(`角色\`${role}\`已从**${member.user.username}**`中删除)
}
    }
}

模块.exports.help = {
  名称:“角色”
}

标签: discord.js

解决方案


试一试if (message.member.roles.highest.position === gRole.position)

=用于定义变量。为了比较值,您应该使用=====


推荐阅读