How to Add Reaction Roles on Discord

Learn how to set up reaction roles on Discord using bots like Carl-bot, Dyno, and MEE6. Complete guide with step-by-step instructions.

Category
features
Difficulty
Intermediate
Last Updated
Mar 2026

What are Reaction Roles?

Reaction roles allow Discord users to assign themselves roles by reacting to a message with specific emojis. This feature requires a Discord bot and is perfect for:

  • Self-assignable color roles
  • Game or interest-based roles
  • Notification preferences
  • Access to specific channels
  • Region or timezone roles

Step 1: Add Carl-bot to Your Server

  1. Visit the Carl-bot website (carl-bot.io)
  2. Click “Invite Carl-bot”
  3. Select your server and grant necessary permissions
  4. Ensure Carl-bot has “Manage Roles” permission

Step 2: Create Roles

  1. Go to Server Settings → Roles
  2. Create the roles you want to assign
  3. Make sure Carl-bot’s role is above the roles it will assign
  4. Configure role permissions as needed

Step 3: Set Up Reaction Roles

  1. Use the command: !rr setup
  2. Carl-bot will guide you through the setup process
  3. Choose the message to add reactions to
  4. Select emojis and corresponding roles
  5. Configure settings (remove reaction, multiple roles, etc.)

Alternative Carl-bot Setup Method

!rr add [message_id] [emoji] [role]

Example:

!rr add 123456789 🎮 @Gamer
!rr add 123456789 🎵 @Music Lover
!rr add 123456789 🎨 @Artist

Method 2: Using Dyno Bot

Setting up with Dyno

  1. Invite Dyno to your server from dynobot.net
  2. Go to the Dyno dashboard
  3. Navigate to Modules → Reaction Roles
  4. Create a new reaction role setup
  5. Configure message, emojis, and roles

Dyno Command Method

?reactionrole [message_link] [emoji] [role]

Method 3: Using MEE6

MEE6 Setup Process

  1. Add MEE6 to your server from mee6.xyz
  2. Access the MEE6 dashboard
  3. Go to Reaction Roles plugin
  4. Create a new reaction role message
  5. Add emojis and corresponding roles
  6. Publish the message to your desired channel

Method 4: Using Ticket Tool

Ticket Tool Setup

  1. Invite Ticket Tool from their website
  2. Use the web dashboard for easy setup
  3. Create reaction role panels
  4. Customize appearance and functionality

Best Practices for Reaction Roles

Role Hierarchy

  • Place bot role above assignable roles
  • Ensure proper permission inheritance
  • Test role assignment before going live

Message Design

  • Use clear, descriptive text for each role
  • Include instructions on how to use reactions
  • Use relevant emojis that match the roles
  • Consider using embeds for better formatting

Channel Placement

  • Create a dedicated #roles or #self-assign channel
  • Pin the reaction role message
  • Restrict posting permissions to prevent spam
  • Consider using a channel everyone can see but not post in

Advanced Reaction Role Features

Multiple Choice Options

  • Single Choice: Users can only have one role from a group
  • Multiple Choice: Users can have multiple roles
  • Toggle: Clicking again removes the role

Required Roles

  • Set prerequisite roles for accessing certain reaction roles
  • Create verification systems
  • Implement membership tiers

Troubleshooting Common Issues

Roles Not Being Assigned

  • Check bot permissions (Manage Roles)
  • Verify role hierarchy (bot role above target roles)
  • Ensure the bot is online and functioning
  • Check if the reaction role setup is correct

Emojis Not Working

  • Use standard Unicode emojis for best compatibility
  • For custom emojis, ensure they’re from the same server
  • Check emoji permissions

Permission Errors

  • Grant “Manage Roles” permission to the bot
  • Check channel permissions for the bot
  • Verify role hierarchy is correct

Example Reaction Role Setup

Gaming Roles Setup

React to get your gaming roles:

  • 🎮 - @Gamer (General gaming discussions)
  • ⚔️ - @RPG Player (Role-playing games)
  • 🏎️ - @Racing Fan (Racing games)
  • 🔫 - @FPS Player (First-person shooters)
  • 🏆 - @Competitive (Competitive gaming)

Click the emojis below to assign/remove roles!

Creating Custom Embed Messages

Many bots allow custom embed messages for reaction roles:

!embed
{
  "title": "Choose Your Roles",
  "description": "React with the emojis below to get your roles!",
  "color": 5814783,
  "fields": [
    {
      "name": "🎮 Gaming",
      "value": "Get notified about gaming events",
      "inline": true
    },
    {
      "name": "🎵 Music",
      "value": "Access to music channels",
      "inline": true
    }
  ]
}

Important: Always test your reaction role setup in a private channel before deploying it server-wide. Make sure all permissions are configured correctly.