While managing a Discord server, you will frequently find yourself needing to create private areas of the server for specific people or for specific purposes. This is easily achievable on Discord by making use of categories, roles and permissions.
Getting Started
This article will assume that you’ve read the following guides:
To demonstrate how to utilize these tools, we’re going to build a server focused around a robotics tournament where our community members gain access to a region-specific group of channels.
We’ll break this up into a few steps:
- Creating the welcome channel where users will find information on how to get their roles.
- Create the necessary roles for our region lock.
- Create the channels for each region.
Creating a Welcome Channel
We’re going to need somewhere with information about how users can gain access to the region locked sections of the server, so we’ll start by making a #welcome channel. We’ll put some instructions in there for the future so that users in the server know how to get roles.
Currently, any user can send a message in our welcome channel. Let’s set up the permissions in the channel so the @everyone role cannot type.
We can check that this has worked using the “View as Role” feature.
Head over to your roles page in the server settings and find the @everyone role, select “View Server As Role.”
You’ll now notice that the message box has been disabled like we specified.
This is the #welcome channel all set up, we’re ready to move on!
Creating Region Roles
Next up, we need to create some roles to identify users from each region in the server. Head to the roles section of your server settings.
These roles don’t need to have any permissions for the whole server (like a role for Moderators would), since they are only used to gate access to the region categories.
You can optionally assign these roles a color to allow members in specific roles to stand out in channels, or hoist them in the member list to make it easy to find users in a group (for example, it’s useful to hoist Moderators so people know who to get in touch with). We’ll create two roles for the United States and Canada.
Make sure to save your changes at the bottom of the roles screen, and that’s all we need for the role setup!
Creating our region locked areas
Discord provides you with a way to group related channels together into Categories.
We’ll be creating a category for each region and channels within that. A great benefit of categories is that you can sync the permissions of the category to all channels within it, so you don’t need to set up permissions for any other channels in the same category.
Start by opening up the server menu and clicking the Create Category option.
We’ll be making two categories in this example, one for each region role. We’ll start out with the United States category, which we’ll associate with the United States role.
You can automatically set up the permissions for a category so that only a certain role can access it. To do this, enable the “Private Category” option. Once you turn this switch on you’ll see a list of roles which you can enable to grant access to the category.
Find the role that you want to create the category for and flip the switch to activate it. Once that is done, hit “Create Category”. It will pop up in your channel list.
If you head into the permissions section for the category you will see which permissions the private category option has changed.
As you can see, the United States role has permission to read all text channels and voice channels, while the @everyone role does not have that permission.
However, what’s a category even for if there are no channels to populate them? Next, let’s make some channels for our newly made category- starting with a text channel and a voice channel. Click the + icon next to the category name to do this.
You do not need to select the private channel option while creating channels inside a category; by default the permissions of the parent category will also apply to the channels within it.
Once you’ve set up the channels within the category, open up the settings of one and take a look at the permissions. As you’ll see at the top of the permissions list, the channel is synced to the United States category. This means that if you update the permissions inside the “United States” category, the permissions in all channels within it will update.
If you manually edit permissions of a channel within a category, it will go out of sync and you may need to tell Discord to re-sync that channel, in the process of which any specific changes to that channel will be lost. This is important to keep in mind since if you have any specific overrides in a channel and you sync it they will be gone, but also if you make any changes to the parent category they will not sync to the channel that you have manually altered, which is something to look out for.
That concludes the set up of the United States category- next we’ll repeat the same steps as above for the Canada channels by creating a category and setting the Private Category option to the Canada role.
After that, your channel list should look like the following.
We can validate that the permissions work again by using the “View Server As Role” feature. This time instead of selecting @everyone, select one of the region roles.
As you can see, while previewing with the “United States” role we can only see the United States category. You can change the selected roles to confirm that each of your region roles can see their respective category.
At this point you are ready to start inviting users! To invite a user, hit the invite button next to the welcome channel in the channel list.
Make sure to select the checkbox to mark your invite as never expiring if you plan on posting it online. Otherwise, the invite will expire automatically and users coming across online posts will not be able to join.
Once you have a link like this you are ready to share it!
Assigning region roles
When a user joins a server they will be presented with the welcome channel and information. They cannot see any other categories because they don’t have any region roles yet.
Users will get in touch via DMs to request region roles (we’ll mention alternative methods to automate this at the end!).
To grant the user access to the region channels, simply open the server’s member list in the server settings, search for their name and add the role!
They’ll then immediately have access to the region category for the role you have assigned them:
Conclusion
This article has shown you how to set up a basic region locked server where you can grant access for specific users to specific categories. Discord’s “Private Categories” feature makes it simple to grant access to a category for a specific set of roles and set up the permissions for you.
With that in mind, here are some things to try with your new server:
- You can add more categories! You may want a Moderators category for other moderators to discuss in.
- You need to make sure Moderators can access all the categories and bypass the region lock if you want them to be able to properly moderate these spaces. Remember, adding permissions to the category will add it to all of the channels within - look at how the region role permissions have been set up and copy this for the moderators role!
- Having to manually assign roles is a laborious task which can be simplified with Discord bots. There are many reaction role bots available which allow users to add a reaction onto a message and be given a role for it. Try to find a reaction role bot that grants users access to your community by simply adding a reaction to your message.