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