Repository navigation
Permission Tools
See and change who can use channels and categories from Discord, without
opening each channel's settings: /perms.
| Command | Who | What it does |
|---|---|---|
/perms report channel:#… |
Mod | Who can see, send messages in, and (for voice) connect and speak in a channel or category |
/perms hide channel:#… target:@… |
Mod | Hide it from a role or member |
/perms show channel:#… target:@… |
Mod | Show it to a role or member, with message history |
/perms speak channel:#… target:@… |
Mod | Toggle whether a role or member can send messages there (and talk, in voice) |
/perms copy from:@… to:@… [mode] |
Admin | Copy one role's permissions and channel access to another, with a preview first |
target is a role or a member. channel can be a text, announcement, forum,
voice or stage channel, or a category.
/perms report channel:#general
Groups every role by what it can do there: Can see, send messages, Can see, Can't see it, and Administrator (which bypasses channel settings). Members with their own override on the channel are listed separately.
- A member can do whatever any of their roles allows, unless a member override says otherwise.
- For a channel, the report says whether it follows its category or has its own settings. For a category, it says how many channels inside have their own settings.
- Only you see the report, and nobody is pinged.
/perms hide channel:#staff-only target:@everyone
/perms show channel:#staff-only target:@Moderators
- Hide denies View Channel.
- Show allows View Channel and Read Message History.
- Each undoes the other. The reply says how.
/perms speak channel:#announcements target:@Members
- What it toggles: sending messages. In a voice or stage channel, or a category, it also toggles talking.
- Which way it goes: if the target's override on that channel stops it speaking, this lets it speak again. Otherwise it stops it.
-
To choose instead of toggling, add
allowed:Trueorallowed:False. - Letting someone speak sets an explicit allow, so they can speak there whatever their roles say.
By default, hide, show and speak on a category change only the
category. Channels that follow the category (synced) change with it;
channels with their own settings don't.
Add include_channels:True to give every channel in the category the same
change, synced or not. The reply lists what changed and anything skipped.
/perms copy from:@Members to:@Trial-Members mode:add
Copies the source role's server-wide permissions and its override on every channel and category onto the target role. You get a preview of every change, and nothing happens until you press Confirm.
| Mode | Result |
|---|---|
add (default) |
The target keeps everything it has and gains the source's permissions and channel access. Where both have an override on a channel, the source's choice wins for each permission it sets |
replace |
The target ends up the same as the source. Permissions the source lacks are removed, and the target's overrides on channels where the source has none are removed |
- Administrator is never copied or removed.
- Confirm re-checks everything, so it acts on the server as it is when you press it.
- Both you and the bot need a highest role above the target role, as with Discord's own role editing.
-
Staff are protected from mods. A mod can't hide a channel from, or
stop speaking, an admin or mod role, a role with Administrator, or a staff
member. Admins can.
@everyoneis allowed, since that's how a channel is made private, and staff keep access through their own roles. -
The bot never locks itself out. It won't hide a channel from, or
silence, itself. If the target is
@everyoneor one of the bot's roles, it first gives itself its own override, so it can still undo the change. - You can only act on channels you can see.
-
The bot can only set permissions it has. If it's missing one in the
channel you named, nothing is changed and the reply names the fix. With
include_channels, channels it can't change are skipped and listed. - Every change is reported through the Admin-Alerts, and each one carries a reason in the server's audit log.
Manage Roles, shown on a channel as Manage Permissions, and View Channel wherever it changes things. It also has to hold each permission it sets: to hide a channel it needs View Channel there, and to toggle speaking it needs Send Messages (and Speak). See Permissions.
The Admin-Dashboard's Permissions tab does the same things with the same rules:
-
Who can use a channel: the report, for any channel or category.
-
Change access: hide, show, stop speaking or let speak, for
@everyoneor a role, with a box to include every channel in a category. -
Copy a role: pick the roles and mode, then Preview. Confirm checks everything again before changing anything.
-
Roles only, no members: the dashboard only lets you pick roles. Use
/permsin Discord for a single member. -
No staff check: the dashboard is for admins, so mods' restrictions on staff don't come up.
-
Recorded the same way: every change goes in the command audit log and the admin alerts.
/setup feature disable feature:Permission tools. See Feature-Switches.