Roles
Automatic roles on join, and self-service role menus with buttons.
Two independent features: roles handed out automatically when someone joins, and menus where members pick their own.
Join roles#
/joinrole add role:@Member
/joinrole add role:@Bots bots_only:true
/joinrole list
/joinrole remove role:@Member
Humans and bots are kept separate. A role added with bots_only:true goes
only to bot accounts, and one added without it goes only to humans — so your
member count role does not end up on every webhook integration.
Up to 10 join roles per server.
Role menus#
A posted message with buttons. Members click to give themselves a role, click again to remove it.
/rolemenu create title:Pick your colours description:One only, please unique:true
→ Created role menu #1
/rolemenu add menu:1 role:@Red emoji:🔴
/rolemenu add menu:1 role:@Blue emoji:🔵 label:Ocean blue
/rolemenu publish menu:1 channel:#roles
| Command | What it does |
|---|---|
/rolemenu create |
New, empty menu — returns its ID |
/rolemenu add |
Add a role, with optional button label and emoji |
/rolemenu remove |
Take a role back out |
/rolemenu publish |
Post it, or refresh the posted message |
/rolemenu list |
Every menu on the server and where it lives |
/rolemenu delete |
Delete the menu and its message |
Up to 20 roles per menu.
Editing a published menu#
Changes are not live. After /rolemenu add or /rolemenu remove, run
/rolemenu publish menu:1 again — Ledra edits the existing message in place
rather than posting a duplicate.
If someone deleted the message, publish posts a fresh one.
Unique mode#
unique:true means members can hold only one role from that menu. Picking a
second swaps it for the first. Ideal for colours, pronouns, regions or
skill levels.
Buttons that keep working#
The buttons survive restarts, updates and outages permanently. A menu you post today still works next year without republishing.
Which roles are blocked#
Both features refuse the same roles, and for good reason:
| Blocked | Why |
|---|---|
@everyone |
Not a real assignable role |
| Integration roles | Managed by Discord for bots and subscriptions — nobody can assign them |
| Roles with Administrator | Self-service admin access would be an open door |
| Roles above Ledra's highest role | Discord forbids it |
| Roles above your highest role | You cannot hand out access you do not have |
The Administrator check runs again every time a member joins, not only when you configure it. If a join role is given Administrator later, Ledra stops handing it out immediately — no reconfiguration needed.
Troubleshooting#
Join roles are not applied. Almost always role position: Ledra's role must
sit above the role it assigns. Check /joinrole list shows what you
expect, then drag the Ledra role up in Server Settings → Roles.
A button says it failed. Same cause — someone moved a role above Ledra's after the menu was created. Fix the position; the button starts working again with no republish.
"No role menu with the ID #3." Menu IDs are per server and never reused.
Run /rolemenu list for the current ones.