我有一个 Discord 机器人。我正在编写警告命令,但我需要一个代码来比较两个成员(角色)的排名。例:A人的地位高于B人。如果 B 人试图警告 A 人,机器人会说“你不能警告这个人。”。如果 A 人试图警告 B 人,机器人就会警告 B 人。
怎么做?
获取每个成员的最高角色并比较他们的计算位置
通过得到一个指导会员 https://discord.js.org/#/docs/main/stable/class/GuildMember's 最高角色 https://discord.js.org/#/docs/main/stable/class/GuildMember?scrollTo=highestRole并得到那个Role https://discord.js.org/#/docs/main/stable/class/Role's 计算位置 https://discord.js.org/#/docs/main/stable/class/Role?scrollTo=calculatedPosition,我们可以根据服务器的角色管理器,用这个值与其他成员最高角色的计算位置进行比较,看看谁的位置更高。
// I'll assume you already have the data for both members (memberA and memberB)
let rankingA = memberA.highestRole.calculatedPosition;
let rankingB = memberB.highestRole.calculatedPosition;
if (rankingA > rankingB) {
// apply warning
} else {
// reject warning
}
Notes:
-
.highestRole
将返回角色对象本身。
-
.calculatedPosition
将返回一个整数,值越大排名越高。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)