Skip to content

Reaction roles

Let members change roles by reacting to a Discord message.

Sign in, select a server you can manage, and ensure April is in it. In Discord, April needs Manage Roles and its highest role must be above the roles it changes; see role hierarchy. April also needs access to the target channel and its message and reactions. Use a role suitable for members to choose, not a staff role.

  1. Open Administration > Reaction Role and create an entry. Choose an existing message and supply its channel and message ID; Discord Developer Mode can help copy the ID. Alternatively, the managed-message helper can create and publish a message to Discord; review it before saving.
  2. Add emoji mappings and select the roles for each. For example, map 🎮 to a Games role.
  3. Set role permissions and optional pick limit, threshold, end date and DM notification, then enable and save. A normal reaction adds roles; Reversed removes them. With Removable, removing the reaction performs the opposite action.
  4. Test with a suitable member in Discord and inspect their roles. A dashboard preview does not prove a reaction or role change.

Non-premium servers can create up to 20 reaction-role entries. The pick limit restricts additions based on matching roles already held; a reached threshold or passed end date can disable the entry. DM notification can fail when the member cannot receive DMs. /reactionrole info shows setup information; /reactionrole add adds a custom emoji using the message ID and emoji. These server commands default to Manage Server permission.

The unsaved reaction role form showing its message and role settings.

Local setup: configure the message and reaction role before saving.

SettingEffect and creation-form default
EnabledNew entries start enabled.
Role permissionsAllow mode requires a matching role; deny mode excludes matching roles. The new form starts in deny mode with an empty list.
Reversed / RemovableReversed changes adding a reaction into removing roles. Removable allows removing the reaction to perform the opposite action. New mappings start with both off.
ThresholdCounts additions; when the limit has been reached the entry can disable. The new form starts at zero with no limit. Reset or lower the count before re-enabling if appropriate.
Pick limit / end datePick limit constrains additions based on already-held mapped roles; the end date can disable the entry after expiry. Both start unset.
DMOptionally notify the member about the role action; the new form starts with DM off and delivery depends on the recipient’s settings.

Edit, disable, or delete the entry when finished; disabling does not remove roles already granted. If the list is empty, create an entry. If loading or saving fails, check access and retry. Check message/channel IDs, enabled state, emoji mapping, role restrictions and limits, April’s channel access and role hierarchy. A forbidden role operation can disable the entry: correct permissions and re-enable it. Check that the message and roles still exist before testing again.

See managed embeds for the message lifecycle.

Before setup, see sign in and select a server. For maintainers, see the administration technical record.