如何创建只有具有管理员和管理频道权限的成员才能使用的“创建文本/vc 频道”命令?

Posted

技术标签:

【中文标题】如何创建只有具有管理员和管理频道权限的成员才能使用的“创建文本/vc 频道”命令?【英文标题】:How do i make a "create text/vc channel" command that only members with admin and manage channel permissions can use? 【发布时间】:2021-09-15 19:59:05 【问题描述】:

如何将所有这些代码加在一起?我想要一个只有具有管理员或管理频道权限的人才能使用的创建频道命令,如果有人使用该命令并且他们没有权限,那么它将显示“您无权使用此命令”这是我的代码想结合;


    message.guild.channels
      .create(name, 
        type: 'text',
      )
------------------------------------------------------
if (
      member.hasPermission('ADMINISTRATOR') ||
      member.hasPermission('MANAGE_CHANNELS')
    )
---------------------------------------------------------
message.channel.send(`$tag That channel has beem created`)
       else 
        message.channel.send(`$tag Please specify a name.`)
      
     else 
      message.channel.send(
        `$tag You do not have permission to use this command.`
      )
    
  ```

【问题讨论】:

【参考方案1】:

使用GuildMember.hasPermission。 这是一个例子:

if(!message.member.hasPermission('MANAGE_CHANNELS')) return message.channel.send('You do not have the `MANAGE_CHANNELS` permission.');

这仅适用于 message 是 Message 对象,或者由于某种原因您将 GuildMember 对象放入名为 message 的对象中。 此外,在 javascript 中,无论何时要停止函数,请使用 return,而无论何时要中断循环,请使用 break

【讨论】:

以上是关于如何创建只有具有管理员和管理频道权限的成员才能使用的“创建文本/vc 频道”命令?的主要内容,如果未能解决你的问题,请参考以下文章

Linux:用户权限管理

如何提升WINDOWS XP管理权限

Discord .net Bot 创建私人频道

您必须是 sysadmin 固定服务器角色的成员或具有 ALTER TRACE 权限,才能对 SQL Server 运行跟踪

OpenStack-9-用户,项目和角色的关系

oracle数据库内容整理