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

# Booster Roles

> Give your boosters a personal role they control themselves.

## Overview

Boosters get a role of their own — their name, their color, their icon — and manage it without needing staff to touch anything. Server owners keep control through limits, a base position, and a word filter.

<Info>
  Confine needs **Manage Roles**, and its own role has to sit above where booster roles land.
</Info>

## Server setup

### Base role

Booster roles get positioned just beneath a role you nominate. Everything created afterward slots in under it.

<CodeGroup>
  ```javascript Syntax theme={null}
  ,boosterrole base (role)
  ```

  ```javascript Example theme={null}
  ,boosterrole base @Boosters
  ```
</CodeGroup>

<Tip>
  Put the base role above any colored roles in your list. Discord shows whichever color sits highest, so a booster's custom color gets hidden otherwise.
</Tip>

### Server limit

Caps how many booster roles can exist at once. Defaults to **50**.

<CodeGroup>
  ```javascript Syntax theme={null}
  ,boosterrole limit (number)
  ```

  ```javascript Example theme={null}
  ,boosterrole limit 50
  ```
</CodeGroup>

### Award role

Hands a role to members the moment they boost, separate from their custom booster role.

<CodeGroup>
  ```javascript Syntax theme={null}
  ,boosterrole award (role)
  ```

  ```javascript Example theme={null}
  ,boosterrole award @Booster
  ```
</CodeGroup>

Check it with `,boosterrole award view`, clear it with `,boosterrole award unset`.

### Name filter

Block words from appearing in booster role names. The command toggles — running it on a word already filtered removes it.

<CodeGroup>
  ```javascript Syntax theme={null}
  ,boosterrole filter (word)
  ```

  ```javascript Example theme={null}
  ,boosterrole filter badword
  ```
</CodeGroup>

`,boosterrole filter list` shows everything currently blocked.

<Info>
  All four of the above require **Manage Server**.
</Info>

## Creating a role

<CodeGroup>
  ```javascript Syntax theme={null}
  ,boosterrole (color) (name)
  ```

  ```javascript Example theme={null}
  ,boosterrole #3498db boss
  ```
</CodeGroup>

Colors accept a hex code (`#ff0000` or `ff0000`) or one of these names:

`default` · `white` · `aqua` · `green` · `blue` · `yellow` · `purple` · `fuchsia` · `gold` · `orange` · `red` · `grey` · `navy`

### Gradients

Pass two colors and the role gets a gradient between them.

<CodeGroup>
  ```javascript Syntax theme={null}
  ,boosterrole (color) (second color) (name)
  ```

  ```javascript Example theme={null}
  ,boosterrole #ff0000 #00ff00 boss
  ```
</CodeGroup>

<Warning>
  Gradients need Discord's **Enhanced Role Colors** feature on your server. Without it, confine rejects the second color.
</Warning>

## Customizing

<AccordionGroup>
  <Accordion title="Changing the color">
    <CodeGroup>
      ```javascript Syntax theme={null}
          ,boosterrole color (color) [second color]
      ```

      ```javascript Example theme={null}
          ,boosterrole color #ff0000
      ```
    </CodeGroup>
  </Accordion>

  <Accordion title="Rolling a random color">
    `,boosterrole random` picks one at random — handy if you can't decide.
  </Accordion>

  <Accordion title="Renaming">
    <CodeGroup>
      ```javascript Syntax theme={null}
          ,boosterrole rename (new name)
      ```

      ```javascript Example theme={null}
          ,boosterrole rename lil durk
      ```
    </CodeGroup>

    Filtered words apply here too.
  </Accordion>

  <Accordion title="Setting an icon">
    <CodeGroup>
      ```javascript Syntax theme={null}
          ,boosterrole icon (emoji or url)
      ```

      ```javascript Example theme={null}
          ,boosterrole icon <:star:123456789012345678>
      ```
    </CodeGroup>

    Attaching an image to the message works as well.

    <Warning>
      Role icons require your server to be **Level 2**. Images must be hosted on Discord's CDN, and cap out at **1MB**.
    </Warning>
  </Accordion>

  <Accordion title="Deleting">
    `,boosterrole delete` removes your role entirely, along with anyone you'd shared it with. `,boosterrole remove` does the same.
  </Accordion>
</AccordionGroup>

## Sharing your role

Let other members wear your booster role.

<CodeGroup>
  ```javascript Syntax theme={null}
  ,boosterrole share (member)
  ```

  ```javascript Example theme={null}
  ,boosterrole share financely
  ```
</CodeGroup>

| Command                            | What it does                                    |
| ---------------------------------- | ----------------------------------------------- |
| `,boosterrole share list`          | Everyone currently using your role              |
| `,boosterrole share max (number)`  | Cap how many people you'll share with           |
| `,boosterrole share remove (role)` | Drop yourself out of someone else's shared role |
| `,boosterrole share reset`         | Clear everyone off your role at once            |

Staff can cap how many booster roles a single member accumulates across the server:

<CodeGroup>
  ```javascript Syntax theme={null}
  ,boosterrole share limit (number)
  ```

  ```javascript Example theme={null}
  ,boosterrole share limit 3
  ```
</CodeGroup>

<Info>
  `share limit` requires **Manage Server**.
</Info>

## Staff Tools

<AccordionGroup>
  <Accordion title="Linking an existing role">
    Assign an already-made role as someone's booster role instead of creating a new one.

    <CodeGroup>
      ```javascript Syntax theme={null}
          ,boosterrole link (member) (role)
      ```

      ```javascript Example theme={null}
          ,boosterrole link financely @CustomRole
      ```
    </CodeGroup>

    The member has to be actively boosting.
  </Accordion>

  <Accordion title="Listing every booster role">
    `,boosterrole list` pages through all booster roles with their owners.
  </Accordion>

  <Accordion title="Cleaning up">
    `,boosterrole cleanup` clears out roles nobody's wearing anymore and database entries pointing at roles that no longer exist. Rate limited to once a minute.
  </Accordion>
</AccordionGroup>

## Automatic behavior

Confine handles two things on its own: when a booster leaves the server, their role is deleted, and when someone starts boosting, your award role is applied.
