簡體   English   中英

檢查機器人是否在特定通道 discord.js v14 中具有權限

[英]Check if bot has permissions in a specific channel discord.js v14

我試圖弄清楚如何檢查我的機器人在某個頻道中是否有正確的 ViewChannel 和 SendMessages。 我用if(.interaction.guild.me.permissionsIn(channel).has("VIEW_CHANNEL))嘗試了 discord.js v13 變體。然后將其升級到 discord.js v14.if if(.interaction. guild.members.me.permissionsIn(channel).has([PermissionsFlagsBits,ViewChannel. PermissionsFlagsBits.SendMessages]))

但在那里我不斷收到同樣的錯誤:

TypeError: Cannot read properties of undefined (reading 'id') at GuildMemberRoleManager.get cache [as cache] (C:\Users\sdamz\OneDrive\Desktop\dcbot v2\node_modules\discord.js\src\managers\GuildMemberRoleManager.js:37:101)...

已經做到了

if(.interaction.guild.members.me.permissions.has([PermissionsFlagsBits,ViewChannel. PermissionsFlagsBits.SendMessagesl])

但得到了同樣的錯誤。

我將不勝感激!

你需要Guilds的意圖

const client = new Client({
  intents: [GatewayIntentBits.Guilds, /* other intents */]
})

問題就在這里 它試圖設置每個人的角色,但它沒有被緩存,沒有Guilds的意圖。

暫無
暫無

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

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