Import Download GuildPro Sign in with Discord
Docs / The Discord bot

Let members pick their own roles

Build a role picker with buttons or a dropdown and post it in your Discord.

A role picker is a bot message that lets members give themselves Discord roles. Officers can view pickers. Only admins can build, post and remove them.

The bot cannot see emoji reactions, so pickers use buttons or a dropdown instead. They work the same way for members: press to take a role, press again to drop it.

Before you start

  • The bot needs Manage Roles. The default install includes it. See Bot permissions.
  • In Discord, under Server Settings → Roles, drag the bot’s role above every role it should hand out.
  • Open the page: /g/your-guild/bot-reactions, where “your-guild” is your guild’s address. In the guild sidebar it is Reaction roles under Bot. The page itself is titled Role pickers.

Build a picker

  1. Under New picker, enter a Title. If you leave it empty it becomes “Pick your roles”.
  2. Pick the Channel to post in.
  3. Choose a Style: Buttons or Dropdown.
  4. Optionally add a Description. It shows as a line under the title.
  5. Leave Members may hold several of these roles ticked to let members hold more than one. Untick it to make picking one role swap out the others.
  6. For each role, fill a row:
    • Label: the text on the button or menu entry.
    • Emoji: optional decoration. Paste a standard emoji. Custom server emoji are not supported.
    • Role: the Discord role to hand out.
    • Description: optional, shown in dropdowns only.
  7. Select Add a role for more rows.
  8. Select Save.

Post it

  1. Find the picker under Your pickers. It reads “not posted yet”.
  2. Select Post to Discord.

Members can use it straight away.

Change or remove a picker

  • Edit loads the picker into the builder. When you Save, the message already in Discord updates to match.
  • Repost refreshes the existing message. If that message was deleted, a new one is posted.
  • Remove deletes the picker and tries to delete its Discord message. If the message cannot be deleted, remove it by hand.

How it works for members

  • Buttons: pressing a button takes the role. Pressing it again drops it.
  • Dropdown: the selection is the full set of roles the member wants from this picker. Anything left unselected is removed. Submitting an empty selection hands every role back.
  • The bot’s reply is private to the member who pressed.

Limits and gotchas

  • Up to 25 roles per picker. Each role can appear only once in a picker.
  • Title up to 120 characters, description up to 400, labels up to 80, option descriptions up to 100.
  • Roles marked “(above the bot’s role)” cannot be chosen. Move the bot’s role above them in Discord, then reload the page.
  • Bot-managed roles and @everyone are not listed.
  • If a member sees “Discord refused”, the bot is missing Manage Roles or its role sits below the role it is trying to hand out.
  • Role changes and failures appear in Recent activity on the Bot page.

Still stuck? Ask in the Discord.