Leveling

Setup an awesome leveling system for your server!

Some of the features of this module require a Premium Subscription to function. You can however use the module with a free subscription.

The Leveling module will allow you to setup a highly customizable leveling system for both text based interactions and voice interactions.

Settings

General Settings

In this area, you can setup and customize the general settings for the commands and events of this module.

Embeds Color

Change the embed color for the public embeds that are set alongside this module such as the leaderboard.

Max Level

This option will allow you to define a maximum level users can reach with the leveling module. Setting this option to 0 will disable it meaning there will be no level limit. If a limit is defined, users will not be able to surpass it.

Additional Required XP Per Level

This option will allow you to change the default XP increment upon level up. On level up, the required experience will increase by the set amount. For instance, if this setting is set to 50 and the previous level required 200 XP to level up, the next level will require 250 XP. Also, the set amount will correspond to the required experience to reach the level 1.

Clear Leveling Data on Leave

This option will allow you to toggle on/off data clearing on user leave, if enabled (default) once a user leaves the server it will automatically clear their activity data.

Send a Message on Level Up

This option will allow you to define how and if a level up message should be sent once a user levels up. By default this is set to disabled however, you can choose between:

SelectionAction

Disabled

Does not send any message on level up.

Current Channel

Send the message to the channel the user leveled up in.

Custom Channel

Send the message to a selected channel.

Direct Message

Send a direct message to the user that leveled up.

Current Channel & Direct Message

Send a message to the channel the user leveled up in and send a direct message to the user that leveled up.

Custom Channel & Direct Message

Send the message to a selected channel and send a direct message to the user that leveled up.

Custom Channel

In this dropdown you can pick the channel that you would like level up messages to be sent to. This setting is only visible when a custom channel option has been selected in Send a Message on Level Up.

Level Up Server Message

Here you can edit the level up message that is sent to the server when a user levels up. All variables can be used. A list of additional variables you can use is listed in Variables. This setting is only visible when a server message option has been selected in Send a Message on Level Up.

Level Up Direct Message

Here you can edit the level up message that is sent to the user when they levels up. All variables can be used. A list of additional variables you can use is listed in Variables. This setting is only visible when a direct message option has been selected in Send a Message on Level Up.

Level Card Settings

Features in this section are limited to Premium users.

[👑] Card Type

Here you can change the type of card you'll be using.

If this dropdown type is selected then the card will be sent as an embed message with the level card settings.

Example Card

Message XP Settings

View the settings for message function of the Leveling module and what they do.

Minimum XP per Message

Here you can set the minimum number of XP points that will be given per message in numerical format (1, 2, 3, 4, etc).

Maximum XP per Message

Here you can set the maximum number of XP points that will be given per message in numerical format (1, 2, 3, 4, etc).

Cooldown

Here you can define the cooldown period between messages receiving and not receiving XP points, messages sent during the specified cooldown period will not grant the user any experience points. This option takes a numerical format (1, 2, 3, 4, etc). Setting this to 0 will disable the cooldown completely.

Voice XP Settings

Features in this section are limited to Premium users.

The leveling module also comes with a voice channel XP function which allows users to accumulate XP points by partaking in a voice channel. By joining a voice channel, the bot will follow a precise formula, which is: A * ( 1 - e ^ ( - B * secs in voice ) ). This will give a different amount of XP basing on the time in seconds the user has remained in the voice channel.

However, the amount of XP given per second will slowly decrease, to prevent spam / AFK users (example if the user stays for a second he will get 1 point, 2 secs 2.9 points, 3 secs 3.7 and so on). It will be calculated once the user leaves the voice. A and B are parameters and can be edited using the 'Voice XP Settings'.

A is the max XP that can be gained in a session, and B the "speed" that value A will be reached. However, the recommended values are 1000 and 0,0005. The user does not need to talk to gain XP.

[👑] Enable Voice XP

Enabling/Disabling this option will activate/deactivate the ability to use the voice XP function, respectively. The below settings will only be displayed when it is enabled and hidden when disabled. By default this option is disabled.

[👑] Minimum Time in Voice

This setting allows you to configure the minimum time in seconds required to stay in the voice channel to gain at least 1 experience point. This is defined by seconds and takes a a numerical format (1, 2, 3, 4, etc).

[👑] XP per Session (A)

This option will allow you to define the maximum amount of XP an user can gain by staying in a voice channel without leaving. The recommended value for this setting is 1000. Do not change this value if you don't know what you're doing, otherwise the XP may be given incorrectly.

[👑] XP Gain Speed (B)

This option will allow you to define the bot will give users XP by staying in a voice channels. The recommended value for this setting is 0,0005. Do not change this value if you don't know what you're doing, otherwise the XP may be given incorrectly.

[👑] Cooldown

Here you can define the cooldown period between receiving and not receiving XP points, during the specified cooldown period XP points will not be granted to the user. This option takes a numerical format (1, 2, 3, 4, etc). Setting this to 0 will disable the cooldown completely.

Channels & Roles

Find out about the Channel & Role settings for the Leveling module.

Admin Role

Here you can select the role which will be considered admins. users with these roles will be able to edit other users' XP.

Channel Restrictions

Here you can set some channel restrictions choosing between None, Disable on all channels except or enable on all channels except. When enabled a new channel selection box will be displayed allowing you to input channels.

TypeDetails

No Channel Restrictions

If this option is selected, no channel restrictions will be applied.

Disable for these channels

Based on the channels input, they will not provide XP for users.

Enable these channels

Based on the channels input, only these channels grant XP, the rest won't.

Role Restrictions

Here you can set some role restrictions choosing between None, Disable on all roles except or enable on all roles except. When enabled a new role selection box will be displayed allowing you to input roles.

TypeDetails

No role restrictions

If this option is selected, no role restrictions will be applied.

Disable for these roles

Based on the roles input, users who have these roles won't gain XP.

Enable these roles

Based on the roles input, only users with these roles gain XP, the rest won't.

Role Rewards

Find out information about the Role Rewards settings for the leveling module and how each function works.

Stack Rewards

This option will allow you to enable/disable reward stacking, when enabled the role rewards will stack.

Level

Input the level that this role reward shall be given at.

Role Reward

In this field you can select the role you would like to give.

To save the role reward's settings, you need to click "Add" in the bottom-right corner of the settings. This will reset the fields so you can set up another role reward.

Your Role Rewards

Here you can manage your currently active role rewards. The same settings as Role Rewards apply. You are able to edit / delete these rewards in the bottom right. A maximum of 100 role rewards is present.

To save the edits you made on the role reward's settings, you need to click "Edit" in the bottom-right corner of the settings.

XP Boosters

Find out information about the XP Boost settings for the leveling module and how each function works.

Sum XP Boosts

Enabling this option will sum the XP boosts, where as disabling will disable it. This is set to disabled by default but can be toggled on and off as desired.

Randomize Boosts

Enabling this option will make it so instead of giving the set amount of xp boost to the user, the amount of experience received from the boost will go around 1% and the boost percentage assigned to the user.

Boost Percentage

This field modifies the percentage of XP that the user will receive when boosted.

Boost Type

This type of boost will make an increase in XP in a certain channel.

Boosted Channel

In this selection you can choose the channel in which you want the boost to occur in.

Enable in Threads

If this toggle is enabled then the boost will also apply to the threads in the channel that the boost is occurring in.

To save the boost's settings, you need to click "Add" in the bottom-right corner of the settings. This will reset the fields so you can set up another boost.

Your Boosts

In this section is where the added boosts can be edited / deleted. There is a maximum of 100 boosts.

To save the edits you made on the boost's settings, you need to click "Edit" in the bottom-right corner of the settings.


Variables

The leveling module collects leveling data and sorts out levels for each user and their XP. These variables below can be used to reference that data in this module.

These Variables can only be used in this module.

VariableDetails

{level}

Displays the user's current level

{xp}

Displays the user's experience

{required_xp}

Displays the required experience to reach the next level

{rank}

Displays the rank of the user


Commands

The leveling module has a wide range of commands, you can find these below.

/rank

This command will allow users to display their current XP progress as well as others.

/level leaderboard

This command will display the server's level leaderboard when triggered. Use the buttons below to navigate through the leaderboard. The button in the middle allows you to go to a specific position in the leaderboard. Change the value of the users-per-page option to show a different amount of users per page (defaults to 10).

/level edit-xp

This is one of the admin commands for the module, users with the defined admin roles will be able to use this command to edit a user's XP points. You can add / set / remove a custom amount of levels / XP.

/level reset-leaderboard

This is one of the admin commands for the module, users with the defined admin roles will be able to use this command to reset the servers level leaderboard.

Events

The leveling module has a wide range of events, you can find these below.

Level Up

This event will track when a user levels up and send the level up message to the appropriate destination.

Message Experience

This event will track user messages and add XP points to a users total for each message, following the defined settings in the module.

Voice Experience - Join

This event will track when a user joins a voice channel and start giving them XP points if you have the Voice XP Settings function enabled.

Voice Experience - Leave

This event will track when a user leaves a voice channel and stop giving the user XP points, the voice events will only work if you have enabled the Voice XP Settings function above.

Clear on Leave

If you have the clear on Leave option enabled, this event will trigger when a user leaves the server and clear their Leveling data, this includes XP, Levels, etc.


It's advised that you do not edit the commands and events unless you have a good understanding of BotGhost and its Command Builder. If you encounter any issues, you might want to reset the module for it to work again as intented.

Additionally, a copy of the edited commands / events will be created if you update the module.

Last updated