Wiki / Core Features / Reaction Roles

Reaction Roles

Updated by Maxime_48 · 1 week ago · Views: 339

Reaction Roles lets your members self-assign roles by reacting to a message or clicking a button. You create and publish the panels entirely from the web dashboard.

The Reaction Roles page listing a published reaction-role message and a draft one


🎭 How it works

  1. Open the Reaction Roles page and click New Message.
  2. Give it an Internal title (only shown in your panel list, up to 100 characters), write the message content (up to 2000 characters) and pick a Discord channel.
  3. Map emojis to roles (up to 20 per panel).
  4. Choose a mode, and whether to use buttons instead of reactions.
  5. Save, then click Publish: YAWBDB posts the message to Discord.

The posted message carries your content as plain text, with the reactions or buttons added to it.

After you edit a published panel, click Re-publish to update the Discord message in place (reactions are reset and added again). If you change the channel, the old message is deleted and the panel goes back to Draft until you publish it in the new channel.


⚙️ Modes

Four modes control what happens when a member reacts or unreacts.

➕ Add-only

Reacting grants the role. Removing the reaction does nothing.

🔁 Toggle

Reacting grants the role. Removing the reaction removes it.

🎯 Unique

Only one role at a time. Switching reaction removes the previous role and grants the new one.

Useful for color or team roles where a member should hold only one at a time.

With reactions, picking a new emoji also removes your previous reaction from the message.

✅ Verify

Reacting grants the role permanently. It can never be self-removed.

Useful for rules acceptance — once a member reacts, the role is theirs and stays.


🔘 Buttons vs reactions

Each panel can use either emoji reactions or Discord buttons.

  • Button mode replaces reactions with clickable components, each labelled with the emoji and role name.
  • Up to 20 roles per panel, laid out five buttons per row.
  • Confirmation is ephemeral: only the member who clicked sees it.
  • All four modes work with both styles. With buttons in Toggle mode, clicking a role button again removes the role.

🗂️ Managing panels

Each panel shows a Draft or Published status, and a Buttons badge when it uses buttons.

  • Panels stay as drafts until you explicitly publish them, which is useful for preparing content before it goes live.
  • You can create multiple panels per server, each targeting a different channel with its own roles and mode.
  • Deleting a published panel also deletes its Discord message; the page asks you to confirm first.
  • A published message keeps working for members even if you later switch the Reaction Roles feature off, until the message itself is taken down.

⚠️ Role hierarchy

For the bot to assign a role, the bot's highest role must be above the roles it manages in your server's role list.

If members react but no role is granted, this is almost always the cause. See the Bot Permissions troubleshooting page.


👍 Recommended setup

  1. Create a panel and write a clear message explaining what each reaction does.
  2. Map each emoji or button to a role.
  3. Pick a mode that matches the use case (Toggle for opt-in roles, Unique for one-of, Verify for rules).
  4. Make sure the bot's role sits above the roles you're handing out.
  5. Publish, then test by reacting yourself.

💡 Best practices

  • Use Verify mode for a rules-acceptance gate.
  • Use Unique mode for mutually exclusive roles like regions or colors.
  • Prefer buttons for clean, labelled panels; use reactions for a more casual look.
  • Keep one panel per theme (roles, colors, notifications) rather than one giant panel.