Setup
Requirements
- AthenaBot with the
coreplugin enabled - Dashboard access for the easiest panel editing experience
- Bot permissions:
- Manage Roles
- Send Messages
- Embed Links
- Add Reactions if using reaction emoji panels
- Manage Messages if using auto-remove reaction behavior
- Read Message History
Discord role hierarchy matters. The bot can only assign roles below its
highest role. Keep role_hierarchy_check enabled unless you are debugging.
Installation
- Place the plugin folder at
plugins/reactionroles. - Start AthenaBot so
configuration/reactionroles.json5is generated. - Open the dashboard page for Reaction Roles.
- Enable the plugin.
- Create or edit a panel.
- Select a channel and map every role entry to a Discord role.
- Click Save Changes, then Send to Discord.
First Panel
The fastest working panel is a mixed select-menu panel:
- Click Create Panel.
- Give the panel a unique key such as
notifications. - Select the channel where the panel should be posted.
- Add an embed title and description.
- Enable Select Menu.
- Add each role option with:
- label
- emoji
- description
- Discord role
- Keep Show Check My Current Roles button enabled.
- Save and send the panel.
Slash Commands
| Command | Purpose |
|---|---|
/reactionroles status | Shows plugin status, panel count, auto-remove setting, logging state, max role limit, and hierarchy check. |
/reactionroles reload | Re-sends or verifies all configured panels. |
/reactionroles resend panel:<name> | Deletes the stored panel record and sends a fresh copy of one panel. |
The slash command requires Discord’s Manage Roles permission by default.
How Startup Sending Works
When the Discord client becomes ready, the plugin:
- Loads the
reactionrolesconfig. - Checks whether the plugin is enabled.
- Looks up each configured panel.
- Checks the database for an existing panel record.
- Verifies the stored message still exists and was sent by the bot.
- Sends a new panel only when needed.
This prevents duplicate panels on every restart while still recovering from deleted panel messages.
Dashboard Versus File Config
Use the dashboard for normal operation. The dashboard editor supports live preview, role/channel pickers, sub-panel editing, and panel send/delete routes.
If dashboard-backed config storage is enabled, editing
configuration/reactionroles.json5 might not change the live configuration
until the dashboard data is updated.