Slash Command Permissions are here! Check out our blog post: https://discord.com/blog/slash-commands-permissions-discord-apps-bots
Command Permissions are changing on February 28, 2023! Learn more in our updates to command permissions article.
Frequently asked questions:
How do I access Command Permissions?
On desktop, go to Server Settings > Integrations, and select an app from the list. If the app has commands registered in your server, you’ll see a list of commands and ways to control access to them!
How do I restrict who can use commands?
Under “Roles and Members” you’ll see a list of who currently has permissions to use commands. You can make changes by changing the toggle, just like other permissions, or adding additional roles and members.
How do I turn commands off within specific channels?
We know that servers have different needs, and you may want to restrict commands to certain channels. By default, commands are available in all channels. This means when you add a new app to your server, all members will be able to use any commands, unless the developer has set up default member permissions.
To restrict access to certain spaces, click ‘Add Channels’ and select additional channels to customize. Toggle permissions off as desired.
How can I see what an app’s commands are?
Knowing what commands are available - before making them visible and accessible to the broader members of a server - is a good way for moderators and admins to feel confident about keeping their server clean, safe, and botspam-free.
You can see a list of commands right on the Command Permissions page. Use the Search bar to see if the app has a command you’re looking for - and use the filters for more refined results.
Can I change permissions for a specific command?
You can make changes to individual commands by creating overwrites. Clicking a command in the list will open a popup where you can make changes.
Here we have an app called StudyBot. By default, we only want the "Student Leads" role to be able to use its commands, and only in #study-zone.
However, we also want the "Study Buddies" role to be able to use a specific command, /notecards. We also want that command to be usable in #flashcard-help.
With these overwrites, /notecards can be used
- By Study Buddies and Student Leads
- In #flashcard-help and #study-zone
How do default member permissions work?
Some apps have default restrictions on their commands when they’re added to a server, called “default member permissions”. We don’t want everyone to be able to ban each other before we get our app set up properly!
These permissions are set by the app’s developer. This is what it looks like when a command has default member permissions.
In some cases, you may want to change access on top of these defaults. Let’s use the following example:
/study has a default restriction on it: only members with “Manage Channel” can use it. This impacts the “Student Leads” who can use the entire application as well; only Student Leads with Manage Channel can use /study.
We can add the above overwrites to also grant “Study Buddies” access. With the above configuration, /study can be used.
- By Student Leads who also have Manage Channel
- By Study Buddies, regardless of whether they have Manage Channel
- In #flashcard-help and in #study-zone
If we wanted all Student Leads to have access to /study, we can add them as an additional overwrite:
I’m a developer. How do I set defaults on my commands?
Check out our documentation on default member permissions!
If someone in my server doesn’t have permission to use a command, will they still see it in the command picker when they type “/”?
No, commands will be hidden from members who don’t have permission to use them.
How do I view the permissions for the app/bot itself, aside from just its commands?
App/bot permissions are still viewable on this same page, at the bottom. You’ll see what roles have been assigned to the bot, along with a list of granted permissions and a list of denied permissions.
Is this available on mobile?
Command Permissions can only be changed on desktop, but are applied on all platforms.