我想检查一个频道是否对所有人可用(至少可以观看),有没有办法做到这一点?
我已经找了一段时间了,没有找到任何东西。
谢谢!
答案 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!");
}
});