JS Discord Bot - 创建具有特定权限的频道 ( v12+ )

Posted

技术标签:

【中文标题】JS Discord Bot - 创建具有特定权限的频道 ( v12+ )【英文标题】:JS Discord Bot - Creating Channel With Specific Permissions ( v12+ ) 【发布时间】:2021-01-12 04:14:41 【问题描述】:

我目前正在编写一个不和谐的机器人,我需要它来创建具有特定权限的频道。

例如,@everyone 不应该有 view_channel 权限。我尝试过的:

message.guild.channels.create("Channel Name",  type: "voice" )
                .then((newChannel) =>  newChannel.overwritePermissions(
                        everyone.id,
                        
                            VIEW_CHANNEL: false
                        );
                )

它会创建频道,但权限不会改变... 我正在使用“discord.js v12+”模块。

【问题讨论】:

您可以只使用message.guild.id,而不是为everyoneRole 创建变量并使用everyoneRole.id。有趣的是,@everyone 角色与其所在的公会共享相同的 ID。 【参考方案1】:

创建频道时可以传入权限

let everyoneRole = msg.guild.roles.cache.find(r => r.name === '@everyone');

message.guild.channels.create('channel name', 
  type: 'voice',
  permissionOverwrites: [
     
       id: everyoneRole.id,
       deny: ['VIEW_CHANNEL'],
    ,
  ],
)

【讨论】:

以上是关于JS Discord Bot - 创建具有特定权限的频道 ( v12+ )的主要内容,如果未能解决你的问题,请参考以下文章

检查 Discord bot 在服务器中是不是具有斜杠命令权限?

Discord.js Bot 上的 DM 特定用户 ID

.send() 上的 discord.js 缺少权限错误

Discord Bot Say 命令编辑:有权限

出现烫发错误后,Discord bot 不会响应

Discord bot 在特定频道中发送消息