Discord servers, by default, only allow admins to set user roles. However, it would be a good idea to let users pick their own roles as it would shed off some responsibilities from the admins. While there is no native option to do so in the Settings, you can do that easily with the help of Discord bots. Let’s see how.
Allow users to self assign their roles on Discord Servers
I’ll walk you through the entire process with an example. Here, I have a server called Cubers where people can talk about Rubik’s cube algorithms. But there are different methods like CFOP, Roux, and ZZ. As every user has their preference in selecting their method to solve the cube, I wanted users to select their method on their own. So people who have selected the CFOP role can access all the channels which discuss CFOP. And here is how I have done that.
To users have to assign roles on their own, we should create roles in the first place. To do that, you need to Open Discord > select the server > click Server name > Server Settings > Roles > Click on + Button beside roles.
Now you can give a name to your role and also set the permissions they have on your server and save changes.
Now you have roles and the permissions for what people in those roles can access. All we need to do now is allow people to assign the roles on their own. To do that, open the Mee6 Discord bot website and login with your Discord account.
And authorize the app to access your account. This would grant access to your account.
Now select the server on which you want to enable self assigning roles and click Continue in the pop-up.
After logging in, select the plugin called Reaction Roles in the plugins section and click on Yes! to enable the plugin.
This is the clever workaround to assign the roles automatically. It works like this, whenever a new user joins your Discord, they’d be greeted with a Welcome channel where they’d get a brief introduction of the Server, they can assign a role by simply reacting with an emoji in the channel. It’s really clever if you think about it.
Now select the channel where people can assign their roles. Normally, #Welcome, #Select_role, #Get_Started are few examples for the channels.
Now in the reactions and roles section, click on Add reaction and select an emoji as a representation for that reaction. You can select multiple roles or a single role in that reaction. Users who select that reaction will be assigned to all the roles in that reaction.
Similarly, you can add multiple reactions. By default, you can add 2 reactions only, if you are willing to add even more than that, you have to choose any Mee6 Premium plan. Now in the Messages section, explain to people that they have to choose any role. And also explain which emoji means which reaction. So that people can choose the emoji and get assigned to the roles in that reaction.
In reaction modes section, select default or reverse. If the user selected any reaction, they will get assigned to the roles of the reaction in the default mode. Whereas in the reverse mode, the role will be removed when users click on the reaction, this great for disabling certain server notifications.
Allow members to pick-up multiple roles sections will be enabled by default, for people to select multiple roles, but you can disable it if you want.
And click save changes. That’s it, you have successfully created a way for users to assign roles. You can open the server and go to the channel and check for your self.
Anyhow, there is one last step to make sure that everyone can see that message. Open Server Settings > Roles and make sure Read Text channels and voice messages are turned on. And also make sure to enable ‘Add Reactions’ in the everyone roles settings.
Alternative Method with Nadeko
Nadeko is a multi-purpose Discord Bot just like MEE6, but the only difference is Nadeko can be operated by command lines, unlike MEE6 which has a user-interface and a dashboard on its own. But you can also consider it as an advantage as it supports a ton of command lines and hence more features to tweak. Here are all the command lines you need to operate Nadeko. Let’s get started with setting up and checkout additional advantages you get with Nadeko than with MEE6.
Setting up Nadeko is easy unlike MEE6 as the set-up process only connects Nadeko with discord. To set-up, open this link and log-in if you have not logged-in to Discord on your browser.
Once done, select the server from the drop-down menu and click continue.
Grant all the permissions to the bot and click on “Authorize”.
This will add Nadeko to your Discord servers.
Before setting-up, you need to make sure that Nadeko can manage roles on your Discord Server. To check that open Server settings > Roles > Nadeko and enable the “Manage Roles” option and click on “Save changes”.
That’s it, now you control Nadeko from your server itself just by using the command lines. To enable self assigning roles with Nadeko, just type “.h .asar”. it will create a list of self-assignable roles in any channel on your server.
Now you need to add roles to that list. You can do that by typing “.asar ROLE NAME”. For example, if I want to make CFOP a self-assignable role, I can just just “.asar cfop”. Continue the same with all the roles you want to make people choose.
Now, people can just type “.iam cfop” to add to the cfop role. Though the process is command based and case sensitive. It has advantages comparing to service like MEE6. Here are the commands that come in handy.
.deaf – mutes a user you don’t like.
.antispam – blocks notifying for duplicate messages in that channel
.voicemute – mutes the voice of a mentioned user in all channels
.blc – blocks the mentioned channel name even it is assigned for your user role.
.trivia – provides the option to play trivia games with-in the channel.
.poll – provides the option to start a poll in the channel.
.play/.start/.next/.stop – for music controls to listen to music with friends who are having the same role.
Both MEE6 and Nadeko can get the work done. But MEE6 provides a user-friendly experience UI, so it’s easy to find new features and enable them. Whereas Nedeko is more feature-rich and has thousands of codes, but it’s hard to find the correct code you need and also what action it’s going to take. Anyhow, both get the work done easily for adding self-assigned roles in your server.
So what do you feel about this method? Let me know in the comments.