> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dogebot.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Button roles

> Buttons people press to get or remove a role.

Post a message with buttons like **Red**, **Blue** and **Green**. Pressing a button gives that colour role. Pressing it again takes the role away.

## Step 1: The command

1. Make a slash command called `colour-roles` and add a **permissions** check for **Manage Roles**, so only staff can post it.
2. On the yes path, add a message block with **buttons** (search `button`). Write `Pick your colour!` and add three buttons: **Red**, **Blue**, **Green**.

## Step 2: What each button does

Under the **Red** button:

1. Add a check on the **roles** of the person who pressed it (search `role`): do they have the **Red** role?
2. **Yes**: use the block that **removes roles** to take **Red** away, then **Reply** privately `Red removed.`
3. **Else**: **Give roles** **Red**, then **Reply** privately `You are now Red!`

Do the same under **Blue** and **Green** with their own roles.

<Info>
  Reply **privately** (only the person who pressed sees it), so your channel does not fill up with messages.
</Info>

## Variation: a menu instead of buttons

Got lots of roles? Use a **select menu** (search `menu`) instead. Each option in the menu gets its own blocks, just like a button.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.