Have you ever been in a Discord server that automatically adds roles by giving you options to choose from? Let's learn how to do that
Creating roles for your members
If you already know how to create roles, you can skip this section!
Before setting the self-assignable roles, we have first to create our roles.
- On Discord, click on your server name, on the top left of the screen
- Select Server Settings
- On the left menu, click on Roles
- If you don't have any roles, you will see a message explaining about roles, go ahead and click on the green button that says Create Role
- You can edit the settings for your new role, change the name, and the color. Depending on your use for the role, it may be useful to click on "Display role members separately from online members", this will show users with that role, on the right online users list on Discord
- Make sure that on the Permissions tab, you don't give any permission that a regular user shouldn't have, you don't want people deleting your channels for example
- Change any other option you wish, and after you're done, click on Save changes
We now have the role our members will self-assign to set up, neat! If you want more roles, feel free to create them by repeating the above steps.
Why do we need a bot for self assignable roles?
After the roles are set up and working as we want, we need to add a Discord bot to our server.
Regular users, like you and me, can create Discord bots, they are third-party software and don't have anything to do with Discord. A Discord bot will provide automated functionality to your server.
Think about the bot as a user, with permission to do certain things on the server, and that will perform actions on request.
Because a Discord bot can be owned and developed by anyone, and they have high authority permissions on your server, you don't want to invite any bot you see around to your server, they could potentially harm your server.
This article will show how to use the Arcane bot to add the self-assignable role functionality in a Discord server. Many other bots can provide this feature, and you can use any that you want, but be sure that it is a trustable bot!
Invite Arcane bot to your Discord server
Bots in Discord are very similar to regular users but automated.
To add a bot to your server, everything you have to do is to "invite" the bot, using its invite link.
This is the invite link for the Arcane bot: https://arcane.bot/invite
Being logged into Discord, click on the above link.
Change Add server to the server you want to add the bot to, and then click on Continue.
You will be prompted with the permissions you want to give the Arcane bot over your server, you can just click on Authorize below here. If you know what you're doing, you can uncheck some permissions that you won't use the bot for, we mostly will use the Manage Server permission here, and the regular permission to send messages.
After that, fill a captcha, and the bot is on your server!
Enable developer mode in Discord
To properly use the self-assignable roles with the Arcane bot, you have to enable Developer Mode in Discord.
- Click on the gear icon on the bottom left to open Discord user settings.
- On the left menu, click on Advanced
- Click on where it says Developer Mode to enable it
- Save the changes
Nothing will immediately change, but the developer mode is enabled.
Create a channel for the reaction roles message
You don't want the reaction roles on your general channel, the message that the user needs to react to would be lost due to the members chatting.
- Create a new text channel by right-clicking the left panel on your Discord channel, and give it any name you want.
- To block users from chatting in that channel, first right-click the gear icon next to the channel name that you just created
- Go over the Permissions tab and disable the "Send message" permission for the Everyone role, by clicking on the red cross
- Save your changes
You now have a channel that users can see and react to the messages inside it, but cannot send messages there, this way the message for reactions won't be lost due to chatting.
Finish setting up the self-assign roles
The first thing we have to do is to create a message that users will react to.
Go to the channel we just created in the previous step and send a message inside it, it will be useful if your message provides details on the roles that each reaction will give.
Now we need to get the message ID by doing the following:
- Hover the message you sent
- Click on the button showing three dots, on the right
- Click on "Copy ID"
If you don't see the Copy ID option, make sure you enabled the developer mode as we talked about before.
Now that we have the ID of the message, we just need to send a command for the self-assignable messages to work.
Type the following command in chat, replacing it with your values:
areactionrole #your-channel message-id-you-copied @YourRole
The message ID you copied replaces "message-id-you-copied", it will be a bunch of numbers, just paste it by pressing CTRL+V.
The role that will be assigned for the current emote is specified by "@YourRole", once typing @ you will be prompted with a list of roles you can choose.
Just make sure every value is spaced, and if you have doubts about the command, send "areactionrole" in chat and the bot will show you the format.
After sending that command, Arcane will send a message in chat that says "React to this message with the reaction you want to use for the reaction role.", all you have to do now is to react to that message, and everything will be set up.
Now by using a reaction on the message you sent in that channel with the emoji you choose, users will automatically get the role you specified! You can repeat the final process for multiple roles, using the same channel and message.
It can take a little time for Arcane to set things up, but you can test the functionality in a moment by reacting to the message you previously sent.
If you have any doubt or feedback about self-assignable roles, contact us!
Self assignable roles are not working!
If you did everything as above and your self-assign role doesn't work, even when Arcane didn't complain about any wrong parameter(channel name, message ID, and others), there is an issue that could be happening.
You need to make sure that the Arcane role is above the roles you want it to use as reaction roles.
Check this doing the following:
- On the top left, left-click on your server name and click on Server settings
- Click on Roles on the left side menu
- Now, make sure that the Arcane role is above the others, you can do this by clicking on the left side of a role, on its "handle", which allows you to drag and drop roles
After that, everything should be working.