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.

Method 1
Method 1 of 2:

Using Carl Bot

  1. 1
    Log in to Discord. You can use the Discord app on your computer or log into https://www.discord.com/app.
  2. 2
    Select 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
  3. 3
    Go to https://carl.gg in a web browser. This takes you to the Carl Bot website.[1]
  4. 4
    Add 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.
  5. 5
    Click 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.
  6. 6
    Click the Roles tab. It's in the left column.
  7. 7
    Create 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.
  8. 8
    Drag 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.
  9. 9
    Click Save Changes and then close your settings. To close your settings, click the X at the top-right corner.
  10. 10
    Type ?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.
  11. 11
    Type the desired chat channel and press Enter or Return. For example, if you want role assignment to happen in #game, you'd type #game.
  12. 12
    Create 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}.
  13. 13
    Enter 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.
  14. 14
    Add 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.
  15. 15
    Type 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.
  16. Advertisement
Method 2
Method 2 of 2:

Using Zira

  1. 1
    Log in to Discord. You can use the Discord app on your computer or log into https://www.discord.com/app.
  2. 2
    Select 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.
  3. 3
    Go 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.
  4. 4
    Click 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.
  5. 5
    Click the Roles tab. It's in the left column.
  6. 6
    Create 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.
  7. 7
    Drag 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.
  8. 8
    Click Save Changes and then close your settings. To close your settings, click the X at the top-right corner.
  9. 9
    Join a text channel. Any channel will do, since Zira is everywhere.
  10. 10
    Send 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
  11. 11
    Tell 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.
  12. 12
    Use 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.
  13. 13
    Use 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.
  14. 14
    Test 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.
  15. Advertisement

Community Q&A

  • Question
    After 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 Answer
    Community Answer
    Go 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."
  • Question
    With Zira, I did the z/normal part and the reaction role wouldnt show up. What have I done wrong?
    Community Answer
    Community Answer
    Zira might not be able to access that channel, or reactions are disabled in that channel.
  • Question
    I'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 Answer
    Community Answer
    It 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.
Advertisement

About This Article

Nicole Levine, MFA
Written by:
wikiHow Technology Writer
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.
How helpful is this?
Co-authors: 9
Updated: August 10, 2022
Views: 514,453
Categories: Discord
Article SummaryX

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.

Did this summary help you?
Advertisement