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

# Leveling System

> Reward active members with XP, levels, and customizable progression

## Overview

The Leveling System rewards members for being active in your server. Members earn XP by chatting or participating in voice channels, level up automatically, unlock reward roles, and compete on the server leaderboard.

Everything is managed through a centralized interactive control panel where administrators can configure XP sources, progression formulas, cooldowns, rewards, restrictions, and announcement settings.

***

## Features

<CardGroup cols={2}>
  <Card title="Message XP" icon="message">
    Reward members for sending messages
  </Card>

  <Card title="Voice XP" icon="microphone">
    Reward members for participating in voice channels
  </Card>

  <Card title="Reward Roles" icon="award">
    Automatically grant roles when members reach specific levels
  </Card>

  <Card title="Leaderboard" icon="trophy">
    Rank every member based on total XP
  </Card>

  <Card title="Blacklist & Whitelist" icon="filter">
    Control exactly where and who can earn XP
  </Card>

  <Card title="Custom Formula" icon="calculator">
    Customize how much XP is required for every level
  </Card>
</CardGroup>

***

## Commands

<AccordionGroup>
  <Accordion title="level" icon="chart-line">
    Opens the interactive leveling configuration panel.

    <CodeGroup>
      ```bash Syntax theme={null}
      ,level
      ```

      ```bash Example theme={null}
      ,level
      ,level config
      ```
    </CodeGroup>

    **Aliases:** `lvl`\
    **Permissions:** Manage Server
  </Accordion>

  <Accordion title="level rank" icon="user">
    View your own level, XP, and server ranking.

    <CodeGroup>
      ```bash Syntax theme={null}
      ,level rank [@user]
      ```

      ```bash Example theme={null}
      ,level rank
      ,level rank @Zenith
      ```
    </CodeGroup>

    **Permissions:** Everyone
  </Accordion>

  <Accordion title="level leaderboard" icon="trophy">
    Displays the server's leveling leaderboard.

    <CodeGroup>
      ```bash Syntax theme={null}
      ,level leaderboard [page]
      ```

      ```bash Example theme={null}
      ,level leaderboard
      ,level leaderboard 2
      ```
    </CodeGroup>

    **Permissions:** Everyone
  </Accordion>

  <Accordion title="level statistics" icon="chart-column">
    Shows an overview of your server's leveling configuration and statistics.

    <CodeGroup>
      ```bash Syntax theme={null}
      ,level statistics
      ```

      ```bash Example theme={null}
      ,level statistics
      ```
    </CodeGroup>

    **Permissions:** Manage Server
  </Accordion>

  <Accordion title="level debug" icon="bug">
    Displays the most recent XP checks performed for a member, including why XP was or wasn't awarded.

    <CodeGroup>
      ```bash Syntax theme={null}
      ,level debug <@user>
      ```

      ```bash Example theme={null}
      ,level debug @Zenith
      ```
    </CodeGroup>

    **Permissions:** Manage Server
  </Accordion>

  <Accordion title="level rewards" icon="award">
    Manage automatic reward roles granted at specific levels.

    <CodeGroup>
      ```bash Syntax theme={null}
      ,level rewards add <level> <@role>
      ,level rewards remove <level>
      ,level rewards list
      ```

      ```bash Example theme={null}
      ,level rewards add 10 @Trusted
      ,level rewards remove 10
      ,level rewards list
      ```
    </CodeGroup>

    **Permissions:** Manage Server
  </Accordion>

  <Accordion title="level blacklist" icon="ban">
    Prevent specific channels, roles, or users from earning XP.

    <CodeGroup>
      ```bash Syntax theme={null}
      ,level blacklist add <target>
      ,level blacklist remove <target>
      ,level blacklist list
      ,level blacklist clear
      ```

      ```bash Example theme={null}
      ,level blacklist add #bot-spam
      ,level blacklist remove @Muted
      ,level blacklist list
      ,level blacklist clear
      ```
    </CodeGroup>

    **Permissions:** Manage Server
  </Accordion>

  <Accordion title="level whitelist" icon="list-check">
    Restrict XP earning so only selected channels, roles, or users can gain XP.

    <CodeGroup>
      ```bash Syntax theme={null}
      ,level whitelist add <target>
      ,level whitelist remove <target>
      ,level whitelist list
      ,level whitelist clear
      ```

      ```bash Example theme={null}
      ,level whitelist add #general
      ,level whitelist remove #general
      ,level whitelist list
      ,level whitelist clear
      ```
    </CodeGroup>

    **Permissions:** Manage Server
  </Accordion>

  <Accordion title="level admin" icon="user-gear">
    Manually manage member XP and levels.

    <CodeGroup>
      ```bash Syntax theme={null}
      ,level admin addxp <@user> <amount>
      ,level admin removexp <@user> <amount>
      ,level admin setlevel <@user> <level>
      ,level admin reset <@user>
      ,level admin reset-all
      ```

      ```bash Example theme={null}
      ,level admin addxp @Zenith 500
      ,level admin removexp @Zenith 100
      ,level admin setlevel @Zenith 25
      ,level admin reset @Zenith
      ,level admin reset-all
      ```
    </CodeGroup>

    **Permissions:** Manage Server
  </Accordion>
</AccordionGroup>

***

## XP Sources

The leveling system currently supports the following XP sources:

<CardGroup cols={2}>
  <Card title="Messages" icon="message">
    Earn XP by sending messages that pass spam detection and cooldown checks.
  </Card>

  <Card title="Voice Activity" icon="microphone">
    Earn XP while actively participating in voice channels.
  </Card>
</CardGroup>

Administrators can enable or disable each XP source independently.

***

## Reward Roles

Reward roles allow members to automatically receive roles after reaching specific levels.

Features include:

* Unlimited reward levels
* One reward role per level
* Automatic role assignment
* Dangerous permission detection
* Permission warnings for sensitive roles

<Warning>
  Reward roles that contain Administrator, Manage Server, Manage Roles, Ban Members, or Kick Members cannot be added.
</Warning>

***

## Blacklist & Whitelist

The leveling system provides two independent filtering systems.

### Blacklist

Prevent specific:

* Channels
* Roles
* Users

from earning XP.

### Whitelist

Restrict XP so that **only** selected:

* Channels
* Roles
* Users

are eligible to earn XP.

<Info>
  If no whitelist rules exist, everyone is eligible to earn XP unless blacklisted.
</Info>

***

## Level Formula

Level progression uses a customizable XP formula consisting of:

* Base XP
* Linear Growth
* Quadratic Growth

This allows server owners to make leveling easier or significantly more challenging depending on their community.

***

## Statistics

The statistics command provides an overview including:

* Total members with XP
* Highest level reached
* Total XP earned
* Active XP sources
* Reward role count
* Blacklist rules
* Whitelist rules
* Current leveling formula

***

## Debugging

The debug command displays the five most recent XP evaluations for a member.

Each entry includes:

* Whether XP was awarded
* Which checks passed
* Which checks failed
* Time of evaluation
* XP source

This makes it easy to diagnose why someone isn't gaining XP.

***

## Control Panel

The `level` command opens a fully interactive Components V2 control panel.

Administrators can configure:

* Enable or disable leveling
* XP sources
* XP cooldowns
* XP rewards
* Voice settings
* Level formula
* Maximum level
* Announcement settings
* Reward roles
* Blacklist
* Whitelist

Changes are applied instantly without requiring a bot restart.

<Note>
  Only the user who opened the control panel can interact with it. Once the session expires, the interface becomes inactive.
</Note>

***

## Best Practices

* Use reward roles for milestones rather than staff permissions.
* Exclude spam or bot channels using the blacklist.
* Use the whitelist if only specific channels should award XP.
* Keep your leveling formula balanced so progression remains rewarding.
* Regularly review your leaderboard and statistics.

***

## Logging

Administrative actions performed through the leveling system are automatically logged if your logging system is configured.

This includes actions such as:

* Reward role changes
* XP adjustments
* Level resets
* Configuration updates
* Enable or disable actions
