> For the complete documentation index, see [llms.txt](https://levelrdocs.xmo.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://levelrdocs.xmo.dev/modules/xp.md).

# General XP Earning

## Commands Used

```
/config channelblacklist
/config roleblacklist
/config xprate
/config voiceleveling
/config levelmessage
/levelr
/givexp
/takexp
/resetxp

/compare
/counts
/rank
/level
```

## Additional Information

The Levelr XP system is very customizable and comprehensive. The XP system can be toggled using the `/levelr` command. When toggled off, XP cannot be earned server-wide. You can configure customizable channels that are blacklisted from XP earning, roles that are blacklisted from XP earning, XP rates, and levelup message. You are also given the ability to freely add/remove XP from users, and Levelr features a large amount of general commands allowing you to compare XP with others and much more. You can earn XP in voice channels, text channels, public and private threads, and forum channels.

{% hint style="info" %}
There is a level 500 hard limit for XP earning, to prevent overflow errors. Without the use of giving XP, you shouldn't encounter this limit regardless.

You earn between 15 - 25 XP per message at the 1x multiplier, with a one minute cooldown to prevent spam.

Leveling up gets progressively more difficult as you gain more levels.
{% endhint %}

## Customizable XP Rates

{% hint style="warning" %}
This is a Beta Feature. It has been tested and should work in most situations, but it may not in all. Please report any bugs found that relate to this feature.
{% endhint %}

Using `/config xprate`, you can set a server-wide XP rate, as well as custom role and channel overrides for that XP rate. `/config xprate view` allows you to view all the XP rates you have set, `/config xprate overwrite` allows you to overwrite or update the XP rate of a channel or role, `/config xprate sync` allows you to remove a previously set overwrite, and `/config xprate server` allows you to set the server XP rate.&#x20;

XP rates can be set between `0.25x` and `5x`, and you earn XP in every channel that Levelr has permissions to view, unless it has been blacklisted with `/config channelblacklist`

XP rates are applied in the following hierarchy: Server-wide XP rate, then channel-specific XP rate, then role-specific XP rates. Your roles are searched from highest to lowest in the hierarchy, and as soon as a role is found that has a custom XP rate, the bot will use that rate. This system is subject to change based on user feedback. This opens up applications such as having your bot command or voice channels earn XP at a slower rate, server boosters earning XP at a faster rate, and more.

## Voice Leveling

{% hint style="warning" %}
This is a Beta Feature. It has been tested and should work in most situations, but it may not in all. Please report any bugs found that relate to this feature.

Voice Leveling is DISABLED by default. You can enable it with the `/config voiceleveling` command.&#x20;
{% endhint %}

You can also earn XP in voice channels. Voice channels only, not stage channels. In order to earn XP, you cannot be self-muted or self-deafened. You will earn XP every minute that you are active in that voice channel. Voice channels allow custom XP rates, and can be blacklisted with `/config channelblacklist`. They can also be toggled server-wide with the `/config voiceleveling` command.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://levelrdocs.xmo.dev/modules/xp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
