Reaction Roles: Panels, Emojis and Troubleshooting
How reaction roles work in Kage: creating panels, emoji mappings, limits, granting and removing roles by reaction, logging and causes of errors.
Last checked for accuracy: 14 October 2026
With reaction roles, members choose their roles themselves: you post a panel message with emoji mappings. Anyone who reacts with an emoji gets the matching role, and anyone who removes the reaction loses it.
This page is the reference: how panels are created, which limits apply and how Kage processes reactions. For a short walkthrough, see the guide Setting up reaction roles.
Requirements
- Access to the module: You sign in to the dashboard with Discord and need the Manage Server permission (or access granted for this module).
- Roles in Discord: Create the roles that should be assigned by reaction.
- Role order: Kage's role must be above these roles in the role list. Kage also needs the Manage Roles permission (part of the standard invite).
- In the panel channel: Kage needs Send Messages, Embed Links and Add Reactions.
Creating a panel
In the dashboard under Reaction roles, you fill in "Create new panel" and click Create & post panel:
- Choose the channel where the panel should appear.
- Enter a title. Without a title, Kage uses "Rollen wählen" (German).
- Optionally write a description.
- Under "Emoji → role", add at least one mapping: an emoji and a role.
- Kage checks your input: the channel and every role must exist, and each emoji may appear only once in the panel.
- Kage posts a message with the title, your description and one line "emoji — @role" per mapping, and adds all the reactions itself.
Important limits:
- Standard emojis only. Discord does not accept custom server emojis for this feature. If Discord rejects an emoji, the panel message is already in the channel. Delete it by hand in Discord and create the panel again.
- At most 20 mappings per panel, because Discord allows at most 20 different reactions per message.
- At most 10 panels per server. Next to the panel list, the dashboard also shows how many panels your plan provides (Basic 3, Premium 25, Enterprise unlimited).
An existing panel cannot be edited. Delete it with Delete in the dashboard (this also removes the message in Discord) and create a new one.
How Kage processes a reaction
- Kage watches reactions on all messages of the server. It only reacts to messages that are stored as a panel.
- Reactions from Kage itself and from other bots are ignored.
- If "Reaction roles active" is off, nothing happens.
- If the emoji matches a mapping of the panel, Kage assigns the matching role. If someone removes the reaction, Kage removes the role again.
- If the role no longer exists, Kage skips the mapping.
- In the module's Logs tab, every assignment ("Rolle … an … vergeben", in German) and every removal appears.
Kage has no single-choice mode: each reaction assigns its role independently of the others. Anyone who clicks several emojis gets several roles. The panel keeps working after a bot restart.
Settings at a glance
| Dashboard field | Meaning | Default |
|---|---|---|
| Reaction roles active | Switches processing on for all panels together. Nothing needs to be deleted to pause it. | off |
| Panel: channel | Channel of the panel message | none |
| Panel: title | Title of the panel message | "Rollen wählen" |
| Panel: description | Optional text above the mapping list | empty |
| Emoji → role | Mappings, 1 to 20 per panel | none |
There are no slash commands for reaction roles.
Checking the result
- Panel: Check that the message is in the channel and that the bot added all reactions below it.
- Practical test: React to an emoji with a second account. It should get the role immediately and lose it again when the reaction is removed.
- Log: The Logs tab in the module shows assignment and removal.
Troubleshooting
Nothing happens when reacting
Check that "Reaction roles active" is on and saved. Check that the panel is still in the "Existing panels" list and that the message was not deleted in Discord. Deleted messages stay in the list until you delete the panel in the dashboard.
The role is not assigned
Usually it is the role order: Kage's role must be above the role. The Manage Roles permission must also be present. Discord shows no message for this, the error appears only in the operating log.
The panel cannot be created
Check the message in the dashboard. Common causes: no channel chosen, no mapping, an emoji used twice, a role that no longer exists, more than 20 mappings, 10 panels already, or Kage may not post in the channel.
An emoji is rejected
It is a custom server emoji or an emoji Discord does not know. Use a standard emoji. You delete the already posted panel in Discord and create it again.
Members get several roles although only one is wanted
There is no single-choice mode. Split the roles across separate panels and tell members to choose only one emoji, or use role panels with buttons or select menus.
Further reading
More about role problems is in the guide Role troubleshooting. If newcomers should receive their role automatically: Auto roles.
Related Kage modules
- Reaction RolesIncluded in Basic
Keep reading
More questions? Ask Kage AIAI
Describe what you need – Kage AI picks out the right guide and gives you the sources.
Try Kage on your server
Sign in with Discord, invite the bot and set up the modules in the dashboard. The Basic plan is free forever.