> For the complete documentation index, see [llms.txt](https://infinitybot.gitbook.io/infinitybot-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://infinitybot.gitbook.io/infinitybot-docs/community-engagement/leveling.md).

# Leveling

With the leveling system users in your server will be rewarded for their activty. It can be with a message to a channel or even a role.

{% hint style="info" %}
Lost your account with more than 50 levels? Create a ticket in [our support server](/infinitybot-docs/start-here/get-support.md), our staff team can get your levels back for you.&#x20;
{% endhint %}

## Demonstration Video

{% embed url="<https://youtu.be/Bxn4M6Sx0NI>" %}

## Setup

Although the leveling system has been enabled by default, you can enable it again or disable the system with the `/level setup` command.

| Command Option Name | Function                                                                                                                               |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| action              | In this option you can select an action that you want to run on the system. You can view a list with actions [here](#command-actions). |

### Command Actions

When using the `/level setup` command, you can select an action that you want to run with the command. A list of actions that you can select can be found below:

<details>

<summary>Toggle Levels</summary>

You can toggle the level system with the "Toggle Levels" action. This will simply enable or disable the leveling system for your server

<figure><img src="https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FPP5LNcAvAONjwYP3VLpm%2Fimage.png?alt=media&amp;token=9f4fea10-2925-40e1-b858-13e2952cb841" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Set up level channel</summary>

You can select a level channel with the "Set up level channel" action. After you used the command, you can either select a new level channel or remove your level channel.&#x20;

If you select a new level channel, level up messages will be send there.

If you remove a level channel, the bot will reply to a user on level-up.

<figure><img src="https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2F1PEyy5uWgyMGMlUabgtO%2Fimage.png?alt=media&amp;token=e8d230c4-3792-44f9-8546-9e62bf65d43e" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Set up a custom level up message</summary>

You can select custom level up message content with the "Set up a custom level up message" action. If you wish to edit or set up your custom message, press "Understand and continue", you will then get a form where you can enter your custom message. There is a set of variables that you can use here, you can check out a list of those [he](#variables)

If you wish to remove your level message, press the "remove custom message" button. It will then use the default level up message.

<figure><img src="https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FD7wV71YsZnQSsvI6kACc%2Fimage.png?alt=media&amp;token=26dab0dd-c341-4a19-bd40-bf0d7d176362" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Set up level roles</summary>

You can select roles that are given when users level up with the "Set up level roles" action. After you used the command, please select what you want to do:

<figure><img src="https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FxblU62hf0003nWOoGo5r%2Fimage.png?alt=media&amp;token=cd8fa958-a1ae-4eff-a7e1-8ea420c138aa" alt=""><figcaption></figcaption></figure>

#### Add level role

If you choose to add a level role, please select the role a user should get:

{% hint style="danger" %}
Never select a role with dangerous permissions here (administrator, manage server/channels/roles, etc) as everyone will then be able to get these roles!
{% endhint %}

<figure><img src="https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FKSSvU4Drx1UkQxhBr3hH%2Fimage.png?alt=media&amp;token=e7464e22-b993-4ccb-9f0a-f0f12e05346d" alt=""><figcaption></figcaption></figure>

Now select at what level users should be when they get this role:

<figure><img src="https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FjTtnK7Ajc9slnfThySnk%2Fimage.png?alt=media&amp;token=47bf5c8c-e285-4812-a313-7ee0435b88a3" alt=""><figcaption></figcaption></figure>

#### Remove level role

If you choose to remove a level role, please select the level you want to remove the role from:

<figure><img src="https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FRZkQyriNXJJAkotSRm8v%2Fimage.png?alt=media&amp;token=b2db0495-6610-42bf-b647-294f8fff8d68" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Select level bot</summary>

{% hint style="info" %}
Custom level bots is a [premium](/infinitybot-docs/basics/premium.md) feature.&#x20;
{% endhint %}

You can select another bot with the "Select level bot" action. After you used the command, you will get a menu to select the bot. To be able to do this, you need a [premium subscription](/infinitybot-docs/basics/premium.md).&#x20;

</details>

### Get a User's Levels

You can view what user is at what level with the `/level user` command. If you don't select a user in the 'user-level' option, it will display your own levels.

### Get a Level Leaderboard

You can get a level leaderboard with the `/level leaderboard` command. You can then select if you want to have a leaderboard for that server or for all servers.&#x20;

### Variables

There is a set of variables that you can use in the custom message content. A list can be found below:

| Variable      | Function                                          | Example output   | Example of usage                  |
| ------------- | ------------------------------------------------- | ---------------- | --------------------------------- |
| `[user]`      | Ping the user that leveled up.                    | @user            | \[user] just leveled up!          |
| `[user_name]` | Show the user name of the user that leveled up.   | notcastel        | \[user\_name] just leveled up!    |
| `[level]`     | Show the amount of levels the user leveled up to. | 14               | You are now level \[level]!       |
| `[server]`    | Shows the name of the server                      | 🪐Cosmos Lounge✨ | You just leveled up in \[server]! |
