Self Roles

Let members choose server roles from reaction, button, or dropdown panels you design in the dashboard.

6 min readUpdated Oct 27, 2026

Use Self Roles when members should opt into interests, notifications, access roles, or other optional groups. Build the message in Dashboard → Self Roles, then publish it to a channel or bind reactions to an existing message.

Administrators can also manage panels with /selfroles (prefix alias selectionroles).

Start here

Create your first panelDesign the message, role items, and restrictions in one editor.
  1. Open Dashboard → Self Roles and select Create panel at the top right.
  2. Choose a panel type: reactions, buttons, or dropdown.
  3. Add at least one role item on the Roles tab.
  4. Set any Restrictions, then customize the message on the last tab, Message.
  5. In the Message tab's right sidebar, use Save panel, pick a channel under Send / bind panel, and use Save and send to publish. On smaller screens these controls appear below the message builder.
Review panels in DiscordUse /selfroles when you need to inspect or adjust panels from Discord.
  1. Run /selfroles in your server.
  2. Select a panel from the dropdown, or choose Add new panel.
  3. In Roles, use Add Role to choose an emoji and its roles. Buttons and dropdowns also accept text, and their emoji is optional. New entries follow the panel’s default mode; each emoji can manage multiple roles. Use Remove Role to remove entries by emoji.
  4. In Info, use Send in the bottom row to choose a channel. Reaction panels can also bind to an existing message link. The trash icon opens a confirmation modal; type DELETE to delete the panel.
  5. Switching to reactions requires a unique emoji on every entry.
  6. Use the dashboard for advanced message design. Existing layouts remain intact when you open the simple Discord editor.

Panel types

Use Enable panel to pause role changes. After a tier downgrade, you can disable a panel while keeping entries above your tier's role limit. Reduce those entries to the current limit before enabling it again.

TypeBest forNotes
ReactionsEmoji pickers on an existing postCan bind to a message link; the message content stays as-is.
ButtonsUp to 20 labeled choicesButtons toggle based on the member’s current roles.
DropdownLong lists (up to 25 options)Choose options to toggle Normal/Reverse roles. Replies confirm changes without another menu.

Assignment modes

Each item has Roles to add and optional Roles to remove. Each entry supports 4 roles total on Public/free or 10 on Prime/Custom, across both lists. Set a default mode for the panel, or override per item.

ModeWhen a member selectsWhen they deselect
NormalAdds the add roles; removes the remove rolesRemoves the add roles (remove roles are not given back)
BindAdds the add roles; removes the remove rolesNo change; they keep the add roles
ReverseRemoves the add roles; grants the remove rolesGives the add roles back and removes the remove roles
DropRemoves the add rolesNo change; roles are not restored through this panel

Reactions: adding a reaction selects; removing it deselects.

Buttons: Normal and Reverse toggle between selected and deselected based on current roles; Bind and Drop only apply on select.

Dropdown: chosen Normal/Reverse options toggle based on current roles. Bind/Drop only apply their selection action. Options not chosen are untouched. Replies contain confirmation text without another dropdown.

Maximum roles

Set Maximum roles per member to cap how many Normal and Bind add roles someone can hold at once (0 = unlimited). Reverse and Drop items do not count toward this limit.

When a new pick would exceed the limit, the bot removes add roles from the earliest items in Roles tab order first, never roles granted by that action. Max Roles can replace Bind roles (a capped bind role may be removed for a new pick). The limit counts distinct roles across all entries, not emojis or options. Reactions stay in place when roles are replaced or a pick exceeds Maximum Roles.

Restrictions

On the Restrictions tab you can require whitelist roles, block blacklist roles, or set minimum account age, membership time, level, messages, or voice time. Restrictions apply only when a transaction grants a role; remove-only actions are not blocked.

Role safety

  • Discortics must have Manage Roles and sit above every role the panel assigns.
  • Managed integration roles and @everyone cannot be used as add/remove targets.
  • Roles with Administrator, Manage Server, Manage Roles, Manage Channels, Manage Webhooks, Ban/Kick Members, Manage Messages, Mention Everyone, Manage Threads, Manage Expressions, or Moderate Members are rejected when you save.
  • When you add a new role to a panel, anyone saving with Manage Roles must have a highest role above that role. The server owner and members with Administrator are exempt. Roles already on the panel are not re-checked when you edit other fields.

Abuse limits

  • Buttons and dropdowns: at most 5 role changes per member per 10 seconds; extra clicks get a private slow-down reply.
  • Reactions apply after the member stops reacting on that panel for 1.5 seconds. Only the latest add/remove for each emoji applies, in reaction order.
  • Requirement-failure DMs share a cooldown per bot, server, and member. The first is immediate; repeated failures wait 1, 2, 4… minutes, up to 30 minutes. The backoff resets after an hour without a failure DM.

Sending and drafts

Open the Message tab to find Save panel and Send / bind panel in the right sidebar. On smaller screens they appear below the message builder. The shared unsaved-changes bar is available across tabs.

  • Save panel stores configuration. If the panel is already published, saving updates the live message when possible.
  • Save and send publishes a draft or moves the panel to another channel. Reaction panels can optionally bind to an existing message link.
  • If the published message or its channel is deleted, the panel becomes a draft again (it is not deleted from your server). Send it again to publish a new message.

Good design tips

  • Give each panel one clear purpose.
  • Use short labels and explain what each choice unlocks.
  • Test with a member account that does not have staff permissions.
  • After changing role permissions in Discord, remove or replace any elevated role on the panel—saves are rejected and the bot will not grant that role at runtime.

Troubleshooting

  1. Confirm Discortics is above the roles on the role list.
  2. Check channel permissions (View Channel, Send Messages, Embed Links, and for reactions Add Reactions / Manage Messages when binding).
  3. If save fails with a hierarchy or permission message, fix the role or your own highest role, then retry.
  4. If a role gained elevated permissions after the panel was saved, remove or replace it on the panel—the bot refuses to grant it until the panel no longer includes that role.
  5. If two editors save at once, reload the panel to get the latest revision before saving again.