javascript - 在 Discord.js 中查看用户的权限值
问题描述
我对 Discord.js 还很陌生,我想知道如何获取用户的值权限。我想这样做是因为我想确保低级别的人不会踢高级别的人。我试图在网上搜索它,但我链接到这个帖子,这对我不起作用。
解决方案
那么你可以通过<GuildMember>.permissions
.
如果你想检查他们是否有一定的权限,你会做
<GuildMember>.permissions.has(Permission_Resolvable)
例子:
const member = msg.mentions.members.first();
const permissions = member.permissions;
const isMod = permissions.has("KICK_MEMBERS");
if(!isMod) return msg.channel.send("You are not a mod");
Permission.has 在这里:
https://discord.js.org/#/docs/main/stable/class/Permissions?scrollTo=has
完整的标志在这里:
https://discord.js.org/#/docs/main/stable/class/Permissions?scrollTo=s-FLAGS
您链接的帖子在 v12 中已过时,但这是新代码:
// I'll assume you already have the data for both members (memberA and memberB)
const rankingA = memberA.roles.highest.position;
const rankingB = memberB.roles.highest.position;
if(rankingA > rankingB) {
} else if (rankingA < rankingB) {
} else {
}
或者
// I'll assume you already have the data for both members (memberA and memberB)
const highestA = memberA.roles.highest;
const highestB = memberB.roles.highest;
//check if memberA is higher
const isHigher = highestA.comparePositionTo(highestB);
if(isHigher > 0) {
//memberA is higher
} else if(isHigher < 0) {
//memberB is higher
} else {
//same
}
推荐阅读
- python - Python 按列表中的值查找字典并返回与该字典不同的值
- angular - 在 Mapbox GL JS 中的地理编码器结果后添加可拖动标记
- python - 注册期间的名称检查 - python
- c++ - 如何更好地检查两个 char 变量是否在某些值集中?
- scala - 如何在 pyspark 中查找数据框的大小(以 MB 为单位)?
- python - 使用 WSGI + Apache 服务时,如何使 apscheduler 作业运行?
- r - 像直线一样闪亮的散点图
- python - 为什么在尝试显示其中包含由 UDF 函数创建的列的数据框时出现属性错误?
- android - 无法将数组转换为 Ljava/lang/Object
- json - VB.net VB JSON 序列化问题