Button Roles
Migrating from Reaction Roles
Turn your existing reaction-role messages into button roles, in place or as a fresh copy.
Buttons are more reliable than reactions: a reaction added while the bot is briefly offline can be missed, but a button click never is. The migration tool turns your existing reaction-role messages into button roles without rebuilding anything by hand.
Open it from the Migrate from Reaction Roles panel on the Button Roles page.
What you'll see#
The tool lists every message that currently has reaction roles, each tagged as:
- Zira: a message Zira sent. It can be edited in place.
- Other author: a message a webhook, staff member, or another bot sent. Zira can't edit it, so it offers to repost a copy.
Each entry previews the buttons it would create, warns if the result would exceed your plan's button limit, and has a Jump to message link that opens the original message in Discord so you can check it before migrating.
How reaction roles map to buttons#
| Reaction role | Becomes |
|---|---|
| Normal (react to add, unreact to remove) | a toggle button |
| Once (add only) | an add action |
| Remove (react to remove) | a remove action |
| A set of toggle reactions (pick one) | buttons in one group, max 1 |
| Several roles on one emoji (stacking) | one button with a multi-action chain |
One button is created per emoji, keeping the original emoji. Labels are left blank so you can name them afterward; everything stays fully editable once migrated.
Migrating a Zira message#
Zira edits the message in place, adding the buttons and keeping the original embed, content, and timestamp. The old reactions are cleared and the message's reaction roles are retired: after migration that message runs on buttons only. No member's roles are touched by any of this; everyone keeps what they have.
Migrating someone else's message#
Since Zira can't edit another author's message, it posts a faithful copy (content and embeds) as itself, with the buttons attached.
The copy is a new message, so it has a new timestamp. The original is left untouched unless you opt in below.
Two optional toggles, both permission-checked:
- Clear old reactions on the original (default on). Removes the reactions; nobody's roles change.
- Delete original message (default off). Removes the original entirely. Needs the
Manage Messagespermission.
Bulk migration#
Use Migrate all Zira messages to convert every eligible Zira-authored message in one click. Messages by other authors are migrated individually so you can decide what to do with each original.
Safety#
Your reaction-role data is removed only after the buttons are successfully posted. If anything goes wrong mid-migration, the original reaction roles are left fully intact and you can simply try again.