频道权限覆盖



由于某种原因,每当我在制作频道时为@everyone分配权限覆盖时,它实际上并没有进行我选择的覆盖。

if (!interaction.isButton()) return
if (interaction.customId === 'ticketcreate') 
{

const ticketCreation = await interaction.guild.channels.create(interaction.user.username + ' ticket', { //Create ticket channel
type: 'GUILD_TEXT',
permissionOverwrites: [
{
id: interaction.user.id,
allow: ["VIEW_CHANNEL", "READ_MESSAGE_HISTORY", "SEND_MESSAGES"]
},
{
id: interaction.guild.roles.everyone,
deny: ["VIEW_CHANNEL", "READ_MESSAGE_HISTORY"]
}
],
})

因此,这将使公会中的每个人都无法查看频道或阅读消息历史记录,并使与按钮互动的人查看频道和阅读消息历史。然而,它并没有做到这一点。(这个按钮创建了一个支持票证,我不希望每个人都能看到支持票证,原因很明显(

您正在传递权限的字符串。。。我相信医生说这应该是比特字段标志。。。这是规格:

https://discord.js.org/#/docs/discord.js/stable/class/GuildChannelManager?scrollTo=create

列出的示例也显示了代码示例:

deny: [Permissions.FLAGS.VIEW_CHANNEL],

来自discordjs的权限信息:https://discordjs.guide/popular-topics/permissions.html#terminology

向下滚动到基本权限#设置角色权限

guild.channels.create('new-channel', {
type: 'GUILD_TEXT',
permissionOverwrites: [
{
id: message.guild.id,
deny: [Permissions.FLAGS.VIEW_CHANNEL],
},
{
id: message.author.id,
allow: [Permissions.FLAGS.VIEW_CHANNEL],
},
],
});```

最新更新