我正在执行禁止命令,我需要检查目标用户是否具有管理员权限。我试过了:
const user = message.mentions.users.first();
const userMember = message.guild.members.fetch(user)
但我收到一个错误:TypeError: userMember.hasPermission is not a function
有没有办法解决这个问题?
答案 0 :(得分:1)
.fetch()
返回一个 promise,因此您需要await
结果:
const userMember = await message.guild.members.fetch(user)
userMember.hasPermission()
您也可以从 mentions
获取成员而不是用户:
const member = message.mentions.members.first()
member.hasPermission()
答案 1 :(得分:0)
尝试使用 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)