Make members pick only one role with exclusive reaction roles

Updated · 3 min read

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 free

Start free. Pro is $9.99/month.

Before you start

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

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

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

Ready to configure your bot?

Start free

Start free. Pro is $9.99/month.

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