【问题标题】:How to find a discord.js user's permissions from a message mention?如何从消息提及中找到 discord.js 用户的权限?
【发布时间】:2021-06-17 02:59:30
【问题描述】:

我正在发出禁止命令,我需要检查目标用户是否具有管理员权限。我试过了:

const user = message.mentions.users.first();
const userMember = message.guild.members.fetch(user)

但我收到一个错误:TypeError: userMember.hasPermission is not a function

有没有办法解决这个问题?

【问题讨论】:

    标签: javascript node.js discord.js typeerror


    【解决方案1】:

    .fetch() 返回一个承诺,所以你需要await 结果:

    const userMember = await message.guild.members.fetch(user)
    userMember.hasPermission()
    

    您也可以从mentions 获取成员而不是用户:

    const member = message.mentions.members.first()
    member.hasPermission()
    

    【讨论】:

      【解决方案2】:

      尝试使用userMember.permissions.has。根据 Discord.JS 文档 (https://discord.js.org/#/docs/main/stable/class/GuildMember?scrollTo=permissions),您需要这样做。 v12好像改了。


      编辑:请查看 Zsolt 的答案,您还必须await .fetch,否则将无法正常工作。

      const user = message.mentions.users.first();
      const userMember = await message.guild.members.fetch(user)
      

      【讨论】:

      猜你喜欢
      • 2020-09-06
      • 2020-10-13
      • 1970-01-01
      • 2021-02-09
      • 2021-05-12
      • 2021-09-14
      • 2021-07-02
      • 2016-12-13
      • 2021-07-06
      相关资源
      最近更新 更多