Discord.js 如何检查频道是否对所有人可用

时间:2021-06-10 21:32:33

标签: javascript discord.js

我想检查一个频道是否对所有人可用(至少可以观看),有没有办法做到这一点?

我已经找了一段时间了,没有找到任何东西。

谢谢!

1 个答案:

答案 0 :(得分:0)

GuildChannel 有一个 permissionsFor() 方法,可用于检查频道中用户/角色的权限。
要检查 @everyone 的权限,请访问 RoleManager.everyone 属性。 (guild.roles.everyone):

// This example assumes that the channel is a guild channel.
client.on("message", (message) => {

  const channel = message.channel,
    guild = channel.guild,
    everyone = guild.roles.everyone;

  // see: https://discord.js.org/#/docs/main/stable/class/Permissions?scrollTo=s-FLAGS
  if (channel.permissionsFor(everyone).has("VIEW_CHANNEL")) {
    console.log("@everyone can view channel!");
  } else {
    console.log("@everyone cannot view channel!");
  }

});