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

# Booster and custom roles

> Let boosters, or members you choose, create one personal role with their own name, color, and icon.

A personal role belongs to one member, who names it, colors it, and picks its icon themselves. `boosterrole` gives that to everyone currently boosting the server. `customrole` gives the same thing to members an administrator picks by hand.

<Info>
  Both need **Manage Roles** for Bloom, and Bloom's own role must sit above the roles it creates.
</Info>

## Choosing between them

|                       | `boosterrole`                          | `customrole`                    |
| --------------------- | -------------------------------------- | ------------------------------- |
| Who can use it        | Anyone currently boosting              | Members on a whitelist          |
| Turned on by          | `boosterrole enable`                   | Adding someone to the whitelist |
| When it is taken away | Automatically, when they stop boosting | Never automatically             |

Both give a member exactly one role, and both offer the same set of controls once created.

## Setting it up

<Steps>
  <Step title="Turn the feature on">
    Run `!boosterrole enable`. Until an administrator does this, boosters cannot create anything.
  </Step>

  <Step title="Set a base role">
    Run `!boosterrole base @Members`. New personal roles are created directly above that role, which keeps them below your staff roles.
  </Step>

  <Step title="Check Bloom's position">
    Bloom's role must sit above the base role, or it cannot create, recolor, or clean up personal roles.
  </Step>
</Steps>

<ParamField path="boosterrole <enable|disable>" type="Administrator">
  Turns booster roles on or off for the whole server. Off until you enable it.
</ParamField>

<ParamField path="boosterrole base <role>" type="Administrator">
  Sets the role that new booster roles are positioned directly above.
</ParamField>

<ParamField path="customrole base <role>" type="Administrator">
  The same setting for custom roles.
</ParamField>

<Warning>
  Bloom can only manage roles below its own. If Bloom's role slips beneath the personal roles it created, it cannot recolor them, and it cannot delete them when someone stops boosting. Keep Bloom above the base role in **Server Settings → Roles**.
</Warning>

## Creating and editing a role

These are the member's own commands. They work the same for `boosterrole` and `customrole`.

<ParamField path="boosterrole create <name> [color]" type="Booster">
  Creates the member's personal role. Alias: `brole`.

  * One role per member. Delete the old one before making another.
  * Names can be up to **100 characters**, and multiple words do not need quotes.
  * `!boosterrole create Moonlight #7f5fff` makes a role called Moonlight in that color.
</ParamField>

<ParamField path="boosterrole color <color>" type="Booster">
  Changes the color. Accepts a hex code, a plain description such as `sunset orange`, or two colors for a gradient.

  * `!boosterrole color #ff5500 #00ff55` sets a gradient between the two.
  * `!boosterrole color red to blue` does the same from a description.
</ParamField>

<ParamField path="boosterrole name <new name>" type="Booster">
  Renames the role, up to **50 characters**.
</ParamField>

<ParamField path="boosterrole icon <emoji|url>" type="Booster">
  Sets a role icon from a unicode emoji, a custom emoji, an image URL, or an uploaded image.

  * Your server must be at **Boost Level 2**, which is Discord's own requirement for role icons.
  * Uploaded images are limited to 256 KB.
</ParamField>

<ParamField path="boosterrole info" type="Booster">
  Shows the member's current role with its name, color, and icon.
</ParamField>

<ParamField path="boosterrole delete" type="Booster">
  Deletes the member's own role. They can create a new one afterwards.
</ParamField>

## What happens when someone stops boosting

Bloom takes the personal role off the member and deletes the role itself. It also sweeps for stale roles when it starts up, clearing any belonging to members who stopped boosting or left while it was offline.

<Info>
  Administrators keep their booster role after they stop boosting, so staff testing the feature do not lose their role.
</Info>

## Custom roles for members who do not boost

`customrole` is the same feature for members chosen by an administrator. Use it for long-standing members, event winners, or perks you grant by hand.

<ParamField path="customrole whitelist <add|remove|list> [user]" type="Administrator">
  Controls who may create a custom role. Aliases: `crole`, `cr`.
</ParamField>

<ParamField path="customrole list" type="Administrator">
  Lists every custom role in the server and who holds it.
</ParamField>

<ParamField path="customrole <create|color|name|icon|info|delete>" type="Whitelisted member">
  The same controls as `boosterrole`, for members on the whitelist.

  * `!customrole create My Cool Role royal blue` creates it.
  * Administrators can always use these commands, whitelisted or not.
</ParamField>

<Info>
  A custom role is never removed automatically, because it was never tied to boosting. Take one away by removing the member from the whitelist and deleting the role.
</Info>

## Troubleshooting

<AccordionGroup>
  <Accordion title="You must be a server booster or administrator to use this command">
    `boosterrole` is only for members currently boosting. Use `customrole` with a whitelist to give the same feature to people who are not boosting.
  </Accordion>

  <Accordion title="Members cannot create a booster role">
    The feature is off until an administrator runs `!boosterrole enable`. Bloom also needs Manage Roles.
  </Accordion>

  <Accordion title="The role icon was rejected">
    Role icons need the server to be at Boost Level 2. Below that Discord does not accept an icon on any role, and uploads must be under 256 KB.
  </Accordion>

  <Accordion title="A booster role stayed after the member stopped boosting">
    Bloom could not delete it, which happens when the role sits at or above Bloom's own highest role. Move Bloom up and it clears the leftovers on its next restart. Administrators keep their roles on purpose.
  </Accordion>

  <Accordion title="Personal roles appear in the wrong place in the role list">
    Set a base role with `!boosterrole base @Role`. New roles are created directly above it.
  </Accordion>

  <Accordion title="You already have a booster role">
    Each member gets one. Run `!boosterrole delete` first, then create the new one.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Booster messages" icon="gem" href="/configuration/boosters">
    Announcing each new boost in a channel.
  </Card>

  <Card title="Managing roles" icon="user-gear" href="/configuration/roles/managing-roles">
    Creating and positioning roles by hand.
  </Card>

  <Card title="Permissions and hierarchy" icon="user-lock" href="/getting-started/permissions">
    Why Bloom's role position decides what it can manage.
  </Card>

  <Card title="Autoroles" icon="user-plus" href="/configuration/roles/autoroles">
    Roles handed out automatically on join.
  </Card>
</CardGroup>
