Reaction Roles

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.


🎭 How it works

  1. Open the Reaction Roles page and create a panel.
  2. Write the message content and pick a Discord channel.
  3. Map emojis to roles.
  4. Choose a mode, and whether to use buttons or reactions.
  5. Click Publish — YAWBDB posts the message to Discord instantly.

If you later change the channel or the content, the bot automatically deletes the old message and posts an updated one in the right place.


⚙️ 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.

✅ 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.


🗂️ Managing panels

Each panel shows a Draft or Published status.


⚠️ 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