This article was co-authored by wikiHow staff writer, Nicole Levine, MFA. Nicole Levine is a Technology Writer and Editor for wikiHow. She has more than 20 years of experience creating technical documentation and leading support teams at major web hosting and software companies. Nicole also holds an MFA in Creative Writing from Portland State University and teaches composition, fiction-writing, and zine-making at various institutions.
This article has been viewed 514,453 times.
Learn more...
On Discord, reaction roles are roles users can assign and unassign to themselves by simply reacting to a message with an emoji. You can create roles that do all sorts of things, such as assign certain permissions, add color to usernames, change fonts, and more. To set up reaction roles, you'll need to add a bot to your Discord server. This wikiHow teaches you how to create reaction roles on your Discord server using Carl Bot or Zira, two of the most popular and easy-to-use Discord bots.
Steps
Using Carl Bot
-
1Log in to Discord. You can use the Discord app on your computer or log into https://www.discord.com/app.
-
2Select the server on which you want to create reaction roles. You must be an owner or have certain administrator permissions to set up a bot. If you're an owner, you are all set. Otherwise, you'll need the administrator to assign you the Manager Server permission for the server or give you an owner role.Advertisement
-
3Go to https://carl.gg in a web browser. This takes you to the Carl Bot website.[1]
-
4Add Carl Bot to your server. Here's how:
- Click Invite at the top of the page.
- Select your server and click Continue.
- Click Authorize. This gives the bot all of the permissions it will need for your server. Once authorized, Carl-bot will join your server.
- Check the box to prove you aren't a robot.
-
5Click the drop-down menu next to the server name and select Server Settings. This is the small triangle at the top of Discord directly to the right of the server's name. Server Settings is near the top of this menu.
-
6Click the Roles tab. It's in the left column.
-
7Create the roles that you want others to be able to self-assign. To create a new role, click + Create Role, and then enter a name for that role, and then assign it a color if you'd like. Then, click the Permissions tab to choose which permissions to assign the role, such as whether you'd like to allow members with this role to add reactions, use voice chat, or ban people. Click Save Changes when you're finished.
- For example, if you wanted to make a role that surrounds the user's name in red, you could create a new role called Red and select a red background.
-
8Drag the "carl-bot" role to the top of the list. This role was created when you invited Carl-bot to the server. The position of this role in the list matters—the "carl-bot" role must be above/before the roles it can assign.[2] To drag the role upward, hover the mouse cursor over carl-bot, and then drag it to the top of the list.
-
9Click Save Changes and then close your settings. To close your settings, click the X at the top-right corner.
-
10Type ?reactionrole make into any channel and press ↵ Enter or ⏎ Return. It doesn't matter which channel you type this into, as Carl-bot has joined all of them. Carl-bot will respond, asking which channel you want to use.
-
11Type the desired chat channel and press ↵ Enter or ⏎ Return. For example, if you want role assignment to happen in #game, you'd type #game.
-
12Create a title and description. Use the same format that Carl-bot shows in the example: This is a title | this is the description, and press Enter or Return to send it to the channel.
- For example, if you want to make the title "Roles" and the description the various emoji you can use to assign each roll, you would type Roles| {roles}.
-
13Enter a color hex code and press ↵ Enter or ⏎ Return. Carl-bot asks for a color hex code so it can display the role message in a color that stands out. To find a hex code, go to https://htmlcolorcodes.com/color-picker and click the color you want to use. The hex code, which begins with a hash (#), appears next to "HEX" at the top of the screen. Type or paste that code into the channel to set the color.
- If you don't want Carl-bot to show messages in color, type none instead.
-
14Add your roles. To do this, you'll need to enter the emoji you want people to react with to assign themselves the role, followed by the name of the role itself. The emoji you enter is the one users will need to react with to assign themselves the role. To add a role:
- Enter the emoji you want to assign the role.
- Press the spacebar once.
- Type the name of the role (the same name you gave the role in your settings).
- Press Enter or Return. You will see a checkmark once Carl-bot registers the role.
- If you created additional roles, you'll add them the same way you did the first role.
-
15Type done and press ↵ Enter or ⏎ Return. This closes the role assignment chat with Carl-bot. Now when a user joins the channel on which you set up roles, they'll be greeted by Carl-bot, who will show the role options. To be assigned a role, the user will just need to select the react option for the role they want.
Using Zira
-
1Log in to Discord. You can use the Discord app on your computer or log into https://www.discord.com/app.
-
2Select the server on which you want to create reaction roles. You must be an owner or have certain administrator permissions to set up a bot. If you're an owner, you are all set. Otherwise, you'll need the administrator to assign you the Manager Server permission for the server or give you an owner role.
-
3Go to https://zira.gg in a web browser. This is the website for Zira, a Discord bot you can use to set up reaction roles.
- Click Add to Server at the top of the page.
- Select your server and click Continue.
- Click Authorize. This gives the bot all of the permissions it will need for your server. Once authorized, Carl-bot will join your server.
- Check the box to prove you aren't a robot.
-
4Click the drop-down menu next to your server's name and select Server Settings. This is the small triangle at the top of Discord directly to the right of the server's name. Server Settings is near the top of this menu.
-
5Click the Roles tab. It's in the left column.
-
6Create the roles that you want others to be able to self-assign. To create a new role, click + Create Role, and then enter a name for that role, and then assign it a color if you'd like. Then, click the Permissions tab to choose which permissions to assign the role, such as whether you'd like to allow members with this role to add reactions, use voice chat, or ban people. Click Save Changes when you're finished.
- For example, if you wanted to make a role that surrounds the user's name in red, you could create a new role called Green and select a green background.
-
7Drag the "Zira" role to the top of the list. This role was created when you added Zira to the server. The position of this role in the list matters—the "Zira" role must be above/before the roles it can assign.[3] To drag the role upward, hover the mouse cursor over Zira, and then drag it to the top of the list.
-
8Click Save Changes and then close your settings. To close your settings, click the X at the top-right corner.
-
9Join a text channel. Any channel will do, since Zira is everywhere.
-
10Send a message to the channel that you can use for reaction roles. Now you'll create the message that Zira posts containing the reaction roles. Once the message exists, you can assign it to Zira to share on the channel.
- For example, let's say you created roles for Male, Female, and Other, and you want users to be able to react to Zira's message with certain emojis to get assigned those roles. Your message may look something like this (but with actual emojis instead of the descriptors below):
- React with the corresponding emoji to get the role!
- :female_sign: Female
- :male_sign: Male
- :white_circle: Other
- React with the corresponding emoji to get the role!
- For example, let's say you created roles for Male, Female, and Other, and you want users to be able to react to Zira's message with certain emojis to get assigned those roles. Your message may look something like this (but with actual emojis instead of the descriptors below):
-
11Tell Zira which channel to use for reaction roles. Zira will post the reaction role information in the channel you enter here. Users will then join that channel and react to Zira's message to assign themselves the role. To tell Zira the channel, type z/channel #channel, but replace "#channel" with the name of the channel.
- Press Enter or Return to send the message to Zira.
-
12Use the z/message command to give Zira your message's ID. After assigning the channel, you need to give Zira the message ID for the message you shared earlier (the one with the emojis and corresponding roles). Type z/message ID, replacing ID with the ID of the message you created, and then press Enter or Return.
- To get the message ID, right-click the message and select Copy ID.
- If you don't see a Copy ID option, you'll need to enable Developer Mode.[4] To do this, click the gear icon at the bottom of Discord next to your name, click the Advanced tab, and then click the "Developer Mode" switch.
-
13Use the z/normal command to assign emoji reactions to roles. If you want members to actively be able to assign and unassign with reactions, use the command z/normal :emoji: role, replacing ":emoji:" with the corresponding emoji, and role with the role name.
- For example, if you want users to be able to react with the female symbol to be assigned a role called Female, you'd type z/normal :female_sign: Female and press Enter or Return. Replace ":female_sign:" with the female symbol emoji.
- Use the same command to enter emojis for all roles you want people to be able to assign themselves.
- If you only want the user to be able to assign themselves a roll once, use z/once instead of z/normal.
- To allow a user to use an emoji to remove a role, use z/remove to specify the emoji and role to remove.
- You can remove a reaction role at any time using z/delete.
-
14Test to make sure the reaction role works. Enter the channel you told Zira to assign roles on, and then react to the message with an emoji. Zira will then assign you the role associated with that emoji.
Community Q&A
-
QuestionAfter I made a reaction role with Carl-Bot, I tried to create another one, and did !rr create. it said that "msg_id is a required argument that is missing." How to I fix or get around this?Community AnswerGo to User Settings > Appearance. Under ADVANCED, turn on Developer Mode. Then, either right-click the message or click the three vertical dots, then select "Copy ID."
-
QuestionWith Zira, I did the z/normal part and the reaction role wouldnt show up. What have I done wrong?Community AnswerZira might not be able to access that channel, or reactions are disabled in that channel.
-
QuestionI've succeeded in getting Carl bot to my server but it won't respond to commands. What are the minimum permissions I have to give it for it to work?Community AnswerIt needs these permissions in the server and the channels you're using: Manage Roles, Manage Webhooks, Read Text Channels & See Voice Channels, Send Messages, Manage Messages, Embed Links, Read Message History, and Add Reactions.
References
About This Article
1. Add Carl Bot to your server.
2. Create all of the roles you want to assign.
3. Drag the carl-bot role to the top of the role list.
4. Type " ?reactionrole make" into a text channel to activate Carl-bot.
5. Tell Carl-bot which channel to use.
6. Create a title and description.
7. Add each role by entering the corresponding emoji, followed by a space, and then the role name.
8. Type "done" to finish.