Node.js 有没有办法比较两个成员';排名?
我有一个不和谐的机器人。我正在编写警告命令,但我需要一个代码来比较两个成员(角色)的排名。例:一个人比另一个人高。如果某人试图警告某人,机器人会说“你不能警告此人”。如果一个人试图警告B个人,机器人会警告B个人Node.js 有没有办法比较两个成员';排名?,node.js,discord.js,Node.js,Discord.js,我有一个不和谐的机器人。我正在编写警告命令,但我需要一个代码来比较两个成员(角色)的排名。例:一个人比另一个人高。如果某人试图警告某人,机器人会说“你不能警告此人”。如果一个人试图警告B个人,机器人会警告B个人 如何做到这一点?因此,您最初需要设置一个计数系统来计算他们的权限,也许它可以基于角色。您可以将其存储在一个简单的SQL数据库或数组中,相对简单。假设我有x角色,我就有x分数。这可以通过if(user.role=='blah')points=x或类似的简单方法来实现 如果您不想执行计数系统
如何做到这一点?因此,您最初需要设置一个计数系统来计算他们的权限,也许它可以基于角色。您可以将其存储在一个简单的SQL数据库或数组中,相对简单。假设我有
x
角色,我就有x
分数。这可以通过if(user.role=='blah')points=x
或类似的简单方法来实现
如果您不想执行计数系统,请查看角色#calculatedPosition-这将返回Discord服务器上角色列表中的高度。比如,
const-roleX=message.role.calculatedPosition()
const otherRole=message.role.calculatedPosition()
您需要了解如何调用角色及其ID
一旦完成了,做一些类似的事情
if(点a>点b){
//在这里做一些事情,比如允许/拒绝它
message.channel.send('warn stuff')
}否则{
//例如,在这里拒绝它
message.channel.send('no')
返回
}
获取每个成员的最高职位,并比较他们计算的职位
通过得到a和a,我们可以使用此值与其他成员的最高角色的计算位置进行比较,以根据服务器的角色管理器确定谁的级别更高
//我假设您已经拥有两个成员(memberA和memberB)的数据
让rankingA=memberA.highestRole.calculatedPosition;
让rankingB=memberB.highestRole.calculatedPosition;
如果(排名A>排名B){
//应用警告
}否则{
//拒绝警告
}
注:
将返回角色对象本身.highestRole
将返回一个整数,值越高表示排名越高.calculatedPosition