Make members pick only one role with exclusive reaction roles
Exclusive Reaction Roles makes one published panel a single-choice picker. When a member chooses a role on that panel, the bot removes the member’s other mapped roles from that panel and attempts to remove their earlier reactions. Reaction Roles is a Pro module. See pricing for the current plan terms.
Start freeStart free. Pro is $9.99/month.
Before you start
- Use an online Build Discord Bots bot with Reaction Roles enabled in the server. A staff member changing panel settings needs Manage Roles, and the bot needs Manage Roles with its highest role above each role it will assign or remove.
- Give the bot View Channel, Send Messages, Embed Links, Read Message History and Add Reactions for its panels. Exclusive panels also need Manage Messages so the bot can remove a member’s old panel reactions. Enable the requested Server Members Intent and Message Content Intent in the Discord Developer Portal.
Set the default for new panels
Open Reaction Roles in your bot’s Modules settings, select the server, and turn on Members Can Pick Only One (New Panels). Save the setting, then run !reactionrole to create and publish a panel with its emoji-role pairs. This dashboard toggle is only the default for newly published panels; it does not change a panel that already exists.
Change one published panel with rrmode
For an existing panel, a member with Manage Roles can run !rrmode <messageId> on or !rrmode <messageId> off in that server. Use the ID of the published reaction-role message. on makes only that panel single-choice; off keeps its mapped roles independent. The setting is stored on that panel, not as a retroactive server-wide change.
Test the role swap and reaction cleanup
In a safe test panel, react to one mapped emoji and then another. With exclusive mode on, the new panel role is assigned and earlier mapped panel roles are removed. The bot also attempts to remove earlier panel reactions, which requires its Manage Messages permission; if Discord denies that permission, staff should repair it before relying on reaction cleanup. Removing the currently selected reaction still follows the panel’s Allow Role Removal On Reaction Remove setting.
Frequently asked questions
Does exclusive mode affect every reaction-role panel?
No. It is stored per panel. The dashboard toggle supplies the default for new panels; use rrmode with a message ID to change a published panel.
Who can use rrmode?
The member running rrmode needs Manage Roles. The command accepts a published panel message ID and on or off.
Why do old reactions remain after a member changes roles?
The bot needs Manage Messages to remove another member’s earlier reaction. Check that permission in the panel channel; role assignment and role removal also require Manage Roles and a valid role hierarchy.
Related modules
Related guides
Verified sources
File references support the commands, settings, permissions and limits described.
- client/src/components/ModuleConfigModal.tsx
- server/templates/modules/reactionroles/index.js
- server/templates/modules/reactionroles/permission-check.json
