Skip to content

Role Menus

Jerad Berhow edited this page Oct 10, 2026 · 1 revision

Role Menus

Self-service roles. Admins post a role menu, and members pick their own roles from it: pronouns, game pings, colour roles, access to optional channels.


How it works

  1. The menu is a message with a Select your roles button.
  2. A member presses it. Only they see a dropdown of the menu's roles, already ticked for the roles they have.
  3. They tick or untick roles. The bot adds newly ticked ones and removes unticked ones, then refreshes their dropdown to show the result.

Details:

  • A menu only manages its own roles. Roles that aren't on it are never touched.
  • Up to 25 roles per menu. That's Discord's limit for a dropdown. Make more menus for more roles.
  • Each role shows its current name, so renaming a role updates every menu at once. An optional descriptor adds a second line of text under it.
  • If one role can't be given, for example because it sits above the bot's, the others in the same pick still are.

Set it up

Put the bot's role above every role you'll offer, in Server Settings → Roles. The bot checks this when you add each role, and refuses with the fix.

Create a menu with its first role:

/roles dropdown create channel:#roles role:@Gamer descriptor:Pings for game nights
Option Effect
channel Where to post it
role The first role to offer
title The menu's heading. Default: Pick your roles
description Text under the heading
descriptor The second line shown under this role in the dropdown
message_id Turn an existing message the bot posted into a menu, instead of posting a new one
apply_channel_defaults Also lock the channel down. See below

Add more roles, one per command:

/roles dropdown add-role message:<pick> role:@Artist descriptor:Art channel access

message suggests your menus as you type.

Remove a role from a menu:

/roles dropdown remove-role message:<pick> role:@Artist

Members who already picked that role keep it. Removing it only stops it being offered.

See your menus:

/roles list

This lists every menu in the server, how many roles it has, and a link to it.


Channel defaults

/roles apply-channel-defaults channel:#roles

This makes a channel suitable for role menus:

  • Only the member role can see it. If no member role is set (see Server-Roles), everyone can.
  • Nobody but admins and the bot can post in it.

Administrators can always post, since Discord lets them ignore channel permissions. Mod roles aren't given posting rights here.


Troubleshooting

What happens Fix
"My highest role isn't above @Role" Drag PariahBot above that role in Server Settings → Roles
A role doesn't get added, but others do That role is above the bot's. Same fix
"This menu doesn't have any roles configured yet" Add one with /roles dropdown add-role
"This role menu no longer exists" The menu was removed. Post a new one
"I can only attach a role dropdown to a message I posted myself" message_id has to be a message from the bot. Leave it out to post a new menu

Permissions needed: Manage Roles, and Read Message History to update the menu message later. See Permissions.

Clone this wiki locally