Discord Reaction Role Builder
Reaction role menus are configured through bot commands, and each bot expects a different argument order, which is where most setups break. This builder generates the exact command syntax for Carl-bot and Dyno alongside the embed text, so the menu and its configuration match.
How to use the Reaction Role Builder
- Add your roles, emoji, and the descriptions members will see.
- Select the bot you use so the command syntax matches it.
- Copy the embed and the command, then run it in your server.
Setting up Reaction Roles
- Role Hierarchy: The bot's role must be higher than all the reaction roles it gives out.
- Bot Permissions: Ensure your bot has
Manage RolesandAdd Reactionsenabled in the role assignment channel. - Read-only Channel: Keep your
#roleschannel read-only for@everyoneto prevent spam.
Reaction roles, buttons, and the hierarchy rule that breaks them
Reaction roles let members assign themselves roles by reacting to a message, which removes a large amount of routine moderator work around pronoun, ping, and interest roles. Most bots now also support button and dropdown menus, which are more reliable than reactions because they cannot be removed accidentally and do not depend on emoji availability.
The failure that accounts for most broken setups is role hierarchy. A bot can only assign roles positioned below its own highest role. Move the bot's role above every role it manages and the problem disappears; leave it below and the menu appears to work while silently assigning nothing. The bot also needs Manage Roles, which is separate from the hierarchy requirement.
Emoji choice matters more than it seems. A custom emoji from another server will not render for members without Nitro, so a menu using them can appear blank for part of your community. Standard Unicode emoji work for everyone. Beyond that, keeping menus to a manageable size and grouping them by purpose is what stops a self-role channel becoming unusable.
Common problems and fixes
- Reacting assigns no role
The bot's highest role sits below the role it is assigning. Move it above in Server Settings, Roles. - The menu shows blank emoji for some members
Custom emoji from other servers require Nitro. Use standard Unicode emoji instead. - The bot lost track of an existing menu
Most bots store the message ID. Recreating the message means reconfiguring it, so avoid editing panel messages by hand.
Frequently asked questions
What bots support reaction role menus?
Carl-bot, Dyno, YAGPDB, Sapphire, and MEE6 all support reaction role embeds.
How does Carl-bot reaction roles work?
Use the ?rr make command, specify the target channel (#roles), provide your message, and pair each emoji with a role (@Role).
Can users choose multiple roles or just one?
You can configure reaction menus as unique (radio button style: only one role allowed) or multi-select (checkbox style: toggle any number of roles).
Why are my reaction roles not assigning?
Ensure the bot's role is positioned higher in the Server Settings > Roles list than the roles it is trying to assign, and has 'Manage Roles' permission.
What is the advantage of Discord Onboarding over Reaction Roles?
Discord Community Onboarding lets users select roles during server joining before they even see channels, while reaction roles allow changing roles anytime in chat.
Why is my reaction role bot not assigning roles?
Almost always role hierarchy. The bot's own role must sit above every role it assigns.
Are buttons better than reactions?
Generally yes. Buttons cannot be removed accidentally, do not depend on emoji availability, and give clearer feedback.
How many roles fit in one menu?
Limits vary by bot, but readability fails long before the technical cap. Split menus by category instead.