Button-role panels

Self-assign roles: members give themselves roles by clicking buttons.

With button-role panels members assign roles to themselves — not via reaction emojis, but real Discord buttons.

Create a panel

On the Button Roles page click Create panel:

  • Title, optional description and color
  • the target channel the panel is posted to — it must be on your main server
  • up to 25 buttons — each maps to one role, with a label, an optional emoji and a style (primary/secondary/success/danger)
  • per button, optionally Only visible to role: only members who already have that role may use the button; everyone else gets a short "you need the role" reply
  • selection mode: Multi-select (any number of roles from the panel) or Single-select (picking one removes the member's other roles from this panel — good for pronouns or languages)
  • under Edit embed, optionally a Footer and a Thumbnail URL
  • optionally a webhook persona (custom name/avatar instead of the bot) — works in regular text channels only

Then Publish — the panel appears in the channel. After later edits, the button reads Update message. Publishing is refused with a clear message if CloudMod can't see, post or embed in that channel.

How members use it

Clicking a button grants (or removes) the mapped role on the main server, and the member gets a private confirmation. If Propagate to sub-servers is on (the default), the role is synced to your sub-servers via your role rules — otherwise it stays on the main server only.

  • Buttons keep working across bot restarts.
  • A disabled panel answers clicks with "This panel is currently disabled".
  • Your log records every pick-up and removal (🟢 Button role added / 🔵 Button role removed), and every panel that is published, updated or deleted.
  • With the Branding plugin, the panel carries your logo and footer — and your brand colour, unless the panel has its own colour.

Requirements

  • Manage Roles — and the bot role must sit above the roles it grants
  • View Channel, Send Messages and Embed Links in the panel channel
  • Manage Webhooks, if you use a webhook persona