LiveThe dashboard is here. Six years in the making.

Button Roles

Overview

A drag-and-drop builder for buttons and select menus that run chains of role actions, with groups, conditions, timers, and cooldowns.

Button Roles is the way to hand out roles with Zira. Every button runs an ordered chain of actions, buttons can be tied together into groups, each action can carry its own conditions and timers, and a whole message can render as a select menu instead of buttons. You build it all on a drag-and-drop canvas, no JSON and no IDs.

Find it on your server's dashboard at Configuration → Button Roles.

What makes it different#

Reaction Roles (legacy)Button Roles
One click can add and remove several rolesNoYes
Buttons or a select menu, your choiceNoYes
Per-button required / blacklist rolesNoYes
Pick-N-of-many across the whole messageToggle type onlyYes, even across messages
Roles that expire on a timerNoYes, per action
Conditions ("only if they have role X")NoYes (premium)
Per-button cooldownsNoYes (premium)
ReliabilityReactions can be missedA click is never missed + durable retry

The building blocks#

  • Message (surface). A Zira-sent message that hosts the buttons. You create it in the Embed Builder and choose the button roles route, or pick an existing Zira message.
  • Button. One clickable button. It has a label, an emoji, a color, an optional cooldown, and optional required / blacklist roles that decide who may use it.
  • Select menu display. Any message can render its entries as one Discord select menu instead of buttons (up to 25 options, each with an optional description). Members pick from the list; deselecting removes the matching roles. Toggle it per message in the builder.
  • Action chain. The ordered list of things a button does when clicked: add, remove, toggle, or grant a timed role. A button can have many actions. See Buttons and Actions.
  • Group. A named set of buttons that caps how many of its roles a member can hold at once (a "pick 1 of these", or pick N). See Groups.

Reliability#

Every role change Zira receives is guaranteed to land. If Discord briefly rejects a role edit, Zira queues it and retries until it succeeds, so a click is never silently dropped. Members always get an ephemeral reply telling them exactly which roles were added or removed.

Where to go next#