Ledra Docs

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.

Roles command reference

Ledra documentation. Everything here describes the hosted bot.