【问题标题】:How to check person banning other person has high enough permissions?如何检查禁止他人的人是否具有足够高的权限?
【发布时间】:2021-02-06 02:11:06
【问题描述】:

我最近向我的不和谐机器人发出了禁止命令,但是当我的朋友试图禁止我(他有权禁止但角色较低)时,我的机器人发出消息说它已禁止我,但它当然没有,有吗一种查看某人的角色是否低于应该被禁止的人的方法? (我认为那个代码没有用,所以我只会说我的代码会检查除此之外的所有内容,如果有人需要我的代码,我会提供)

【问题讨论】:

  • 如果您提出与编程相关的问题,尤其是关于 SO 的问题,展示您的代码绝不是一个坏习惯。如果我们不需要它,我们可以忽略它,而它只需要你一个简单的复制粘贴。

标签: javascript discord.js


【解决方案1】:

您可以比较目标和执行者角色的位置。例如添加下面的检查。 target 对象必须是 guildMember

if (message.member.roles.highest.position <= target.roles.highest.position) return message.reply('You can`t kick member with the same or highest role')

【讨论】:

    【解决方案2】:

    在我的机器人中,我有一行代码概述了权限,如下所示:

    if(command === "ban") {
      if(!message.member.roles.cache.some(r=>["RoleName"].includes(r.name)))
      return message.reply("You do not have permissions to use this command!");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 2010-11-27
      • 2023-02-20
      • 2013-06-18
      相关资源
      最近更新 更多