簡體   English   中英

如何從消息提及中找到 discord.js 用戶的權限?

[英]How to find a discord.js user's permissions from a message mention?

我正在發出禁止命令,我需要檢查目標用戶是否具有管理員權限。 我試過了:

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

但我收到一個錯誤: TypeError: userMember.hasPermission is not a function

有沒有辦法來解決這個問題?

.fetch()返回一個 promise 所以你需要await結果:

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

您還可以從mentions獲取成員而不是用戶:

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

嘗試使用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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM