discord.js - 我如何将角色与用户进行比较或查看给定的所需角色是否是他们的最高角色?
问题描述
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 = { 名称:“角色” }
解决方案
试一试if (message.member.roles.highest.position === gRole.position)
。
单=
用于定义变量。为了比较值,您应该使用==
或===
。
推荐阅读
- c++ - 如何从 C++ 文件中包含 WebAssembly 模块?
- typescript - 通用函数和索引类型
- node.js - 如何从 sequelize 中获取 Unix 偏移量?
- python - 在 Python 3 中将 CSV 文件附加到新的 CSV 文件时,单词之间出现不需要的“”
- sql - 如果存在,则从字符串中删除第一个和最后一个点
- sas - SAS 无法写入 nzlog/坏文件 Netezza
- perl - 彩色文本的 Perl printf - 错误的格式输出
- c# - 从另一个列表建立列表
- http - 我们如何向我们的 Web 应用程序添加/实现 HTTP/3 协议?
- javascript - 正则表达式匹配两个点之间的所有内容,包括最后一个单词和第一个单词(不包括点),JavaScript .match()