By default, only admins can set user roles on Discord servers. 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 allow users to self-assign roles on Discord servers easily with the help of bots. Let’s see how.
Creating Roles on Discord
To allow users to assign roles on Discord themselves, we should create those roles first. To do that, you need to open Discord, select the server, and click on the server name in the top right corner. Then in the drop-down menu, click on the Server Settings option.
In the server settings, select Roles in the sidebar and click on the + button to add a new role. Give a name to your role and also set the permissions they have on your server. Once done, click on Save Changes.
Enabling Self-Assigning Roles with MEE6
Now you have roles and the permissions for what users in those roles can access. All we need to do now is allow people to assign these roles to themselves. To do that, open the MEE6 Discord bot website and click on Add to Discord. In the pop-up that opens, log in with your Discord account.
Then authorize MEE6 to access your account. Now select the server on which you want to enable self-assigning roles by clicking on the Setup button. That will install the MEE6 bot and that server. Once done, click on the Go button to open the MEE6 Dashboard.
After logging in, select Reaction Roles plugin in the Plugins section under Server Management. Now click on the New reaction role button to start creating a reaction role. Select the channel where users can assign roles. Then give a name to your reaction role.
Now in the reactions and roles section, click on the Add reaction button and select an emoji as a representation for that reaction. Once you have added the emoji, click on the Plus + icon beside it and select the role. You can select multiple roles or a single role in that reaction. Users who select that emoji will be assigned to all the roles in that reaction.
Similarly, you can add multiple reactions. By default, you can add 2 reactions in the free plan. If you want to add more, you need to upgrade to a 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 users can choose an emoji and get assigned to the roles associated with that reaction.
In the Reaction Mode section, select Default. If the user selects a reaction, they will get assigned the roles associated with that reaction in the default mode. Whereas in the Reverse mode, the role will be removed when users click on a reaction.
Finally, click on Save changes. That’s it, you have successfully created a way for users to assign roles to themselves on the Discord server. You can open the server and go to the channel and check for yourself.
But, 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 Channels are turned on. And also make sure to enable Add Reactions in the everyone roles settings.
Alternatively, You Can Also Use ProBot
ProBot is another Discord bot like MEE6 bot that will allow you to allow your server members to self-assign their roles on your server.
To set up ProBot on your Discord server, open the ProBot website and tap on the Add To Discord option. It will open a pop-up window. Simply log in to the service with your Discord account.
Once done, select the server that you want to add ProBot to and click Continue. Then click on Authorize which should close the pop-up window.
Now, you will be redirected to the ProBot dashboard. Here click on the Embed Messages option in the sidebar. Now click on the Create option at the top to create a new embedded message. Give your embedded message a name and then click the +Add Field option to add title, content, image, etc.
Add the required fields explaining the roles in your server to the new users. Then click on the Send New Message button at the bottom. In the pop-up, select the channel and then click Send New Message. This message will be sent as an Embedded message in the selected channel.
Once done, click on the Save Changes button. Now click on the Reaction Roles option in the left sidebar and then click on Add Message. Now under the Embeds section, select the embed that you just created in the step above. Then under Choose a message, select the message that you just sent.
Then under Emoji reaction, click on Add Reaction button. Select the emojis that represent the roles on your server. One emoji for each role. Once selected, you should see emojis below with a plus icon beside them. Click on the plus icon and select the role. If the user chooses that emoji, they will be assigned that role automatically on the Discord server.
Once done, click on Save Changes. Now users can hop on to that channel or you can set it as a welcome channel. Users will then have to just click on the emoji reactions for that message to join the respective server.
Both MEE6 and ProBot can get the work done. Both are multi-purpose Discord bots, both have many similar features to compete with, and both are user-friendly. Another option is Carl Bot which also features the reaction roles function. So if you are using any of these three bots, you can continue using that instead of installing a new bot just for reaction roles as all three offer a similar experience.