繁体   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