Levels

Find out how to track your server members' progress with the levels feature.

Checking your level

To check your own progress, use the /level command.

Card returned by the /level command
Card returned by the /level command

To check another member's progress, add their mention as an argument to the /level command.

Level rewards

Motivate your members by offering them rewards when they reach certain levels! To see the rewards available on your server, use the /rewards command.

TypeDescriptionExample
Permanent roleGrants a Discord role for good"Active" role at level 10
Temporary roleGrants a role for a limited time"VIP 7 days" role at level 20
MoneyMoney from the economy system5000 coins at level 15
Inventory itemOne or more inventory items3x "Boost potion" at level 25
Custom rewardA reward you hand out yourselfPromo code, goodies, etc.
Level rewards
Level rewards

You can create up to 10 rewards for free. Premium <:icon_premium:1096140508625125417> servers have no limit!

Member leaderboard

You can display the member leaderboard, from the highest to the lowest level, in three ways:

The /toplevel command

You can display the leaderboard with the /toplevel command.

Result of the /toplevel command
Result of the /toplevel command

If you want to display a specific number of rows (only the top 3, for example), you can add that number as an argument to the /toplevel command.

If the "Allow viewing other members' experience" option is disabled, members can only check their own progress with /level, but the leaderboards (/toplevel and the online leaderboard) remain accessible to everyone.

Online leaderboard

If you have enabled the online leaderboard, you can open it from the "View the whole leaderboard" button of the /toplevel command.

Online leaderboard
Online leaderboard

If you are a server administrator, you can also reach it from the panel, in the Levels module, through the "Access to the leaderboard" button.

Real-time leaderboard

Premium <:icon_premium:1096140508625125417> servers can set up a member leaderboard in a dedicated channel, updated automatically in real time.

Automatic Discord leaderboard
Automatic Discord leaderboard

The advantage of this feature is that the message displaying the leaderboard can show up to 25 members and is refreshed automatically every 10 minutes, unless nothing has changed!

Managing members' levels

As an administrator, you have several commands to manage members' experience:

CommandDescription
/dropxpCreates a message with a button: the first member to click wins the experience. You can set a time limit (10 minutes maximum).
/adminxp add memberAdds experience to a specific member.
/adminxp add serverAdds experience to every member of the server (asynchronous operation).
/adminxp add roleAdds experience to every member holding a specific role (asynchronous operation).
/adminxp remove memberRemoves experience from a member. Warning: this can cause the loss of levels and of the associated reward roles.
/adminxp remove serverRemoves experience from every member of the server (asynchronous operation).
/adminxp remove roleRemoves experience from every member holding a specific role (asynchronous operation).
/adminxp setSets a member's XP to an exact amount (replaces their current XP).
/adminxp transferTransfers experience from one member to another (the giver loses the transferred XP).
/adminxp reset serverResets every level on the server. This action cannot be undone!

Admin commands can only be used by members of your server holding the administrator permission.

Bulk operations: commands targeting "every member" or "a role" run asynchronously. A progress message is displayed and updates automatically. You can cancel the operation at any time with the button provided.

When you remove XP or set a lower XP amount, members may lose levels. In that case, their reward roles are removed automatically.

Earning experience

Experience per message

The main way to earn experience is written participation on the server. Each message grants a random amount of experience, between two configurable bounds (15 to 25 XP by default).

A cooldown (30 seconds by default, configurable) applies between each XP gain for the same member. This prevents spam and encourages quality conversations.

Premium <:icon_premium:1096140508625125417> servers can customize this interval independently of the voice one.

Experience in voice

Premium <:icon_premium:1096140508625125417> servers can enable experience gain based on voice activity. Each member active in voice earns a random amount of experience (15 to 25 XP by default, configurable), at a regular interval (every 2 minutes by default, configurable).

This interval is also customizable independently of the message one.

Requirements to earn XP in voice:

  • The user must not be muted or deafened (neither self-deafened nor server-deafened).
  • The channel must not be a stage channel or set as the AFK channel (in the Discord settings).
  • At least 2 human users must be present and active (not muted/deafened) in the same channel.

If these conditions are no longer met, the member stops earning XP until they are met again.

Other ways to earn experience

Thanks to DraftBot's ecosystem, you can grant experience through other features:

FeatureDescription
GiveawaysOffer XP as a reward
Economy shopSell XP for server money
Birthday giftsOffer XP automatically
Experience drop (/dropxp)Create interactive events
Advent calendarDaily rewards in December

Threads and forums

The level system distinguishes between two types of discussion spaces:

Type of spaceDescription
ThreadsCreated in text or announcement channels. Their XP gain can be enabled or disabled through the "Enable xp gain in threads" option
Forum postsMessages published in forum channels. Their XP gain is controlled by the "Enable xp gain in forum posts" option

Threads and forum posts automatically inherit their parent channel's settings regarding allow/deny lists and multipliers.

To manage your server with precision, you can block or boost experience gain based on the member's role or the channel used, as detailed below.

Allow and deny lists

The role and channel lists let you control precisely who can earn XP and where:

ModeDescription
WithOnly the listed members/channels can earn XP. For roles, a member only needs at least one allowed role to earn XP, even if they hold other unlisted roles
WithoutThe listed members/channels cannot earn XP. If a member holds at least one forbidden role, they will not earn XP

Experience multipliers

You can apply multipliers (x1.5, x2, x2.5, x3) to certain roles or channels to boost XP gain.

Premium <:icon_premium:1096140508625125417> servers can use custom values ranging from x0.1 to x10.

  • If a member holds several boosted roles, only the highest boost is applied.
  • If a channel inherits its category's boost and has its own boost, only the channel's boost is applied.
  • Role boosts and channel boosts, however, stack with each other (multiplication).

Example: a member holding an x2 role who writes in an x1.5 channel earns x3 (2 × 1.5). Conversely, if they hold two boosted roles (x2 and x1.5), only the x2 is applied.

Additional options

Other advanced options are available to fine-tune the system:

OptionDescription
XP gain per message in voice channelsThree modes are available for text messages sent in voice channels: Everyone (any message grants XP, whether or not the author is connected to voice), Only if voice-connected (XP is only granted if the member is also connected to the voice channel), or Disabled (no text message in voice channels grants XP)
Long messages count doubleMessages of 250 characters or more (threshold configurable between 100 and 1500) grant double XP
Allow viewing other members' experienceIf disabled, members can only check their own level through /level, and the reply becomes ephemeral (visible only to the person who ran it). Administrators can still check every member's level
Reset XP when leaving the serverIf enabled, members who leave the server lose their progress for good. If they come back, they start from zero
Reset XP on banIf enabled, banned members lose their progress for good
Color customizationChange the color of level embeds and cards<:icon_premium:1096140508625125417>

Features marked with the <:icon_premium:1096140508625125417> symbol are reserved for premium <:icon_premium:1096140508625125417> servers.

Below is the amount of XP needed to reach the next level with the default curve.

Level table
Level table

Customizable experience curve

You can change the experience curve to adjust how hard it is to progress through levels. Four predefined curves are available:

CurveDifficultyDescription
ConstantFixedEvery level requires exactly the same amount of XP
LinearModerate increaseEach level requires progressively more XP, in a linear way
ExponentialFast increaseDifficulty grows exponentially, high levels are much harder to reach (default)
CustomYour choiceDefine your own progression formula<:icon_premium:1096140508625125417>

Curve multiplier: you can apply a global multiplier (x0.5, x1, x2, etc.) to the selected curve to adjust difficulty without changing the progression style.

Important: when you change the XP curve, every member's level is recalculated automatically based on their total XP. If you make levels harder to reach, some members may lose levels and their associated rewards!

Maximum level

Premium <:icon_premium:1096140508625125417> servers can set a maximum level to cap progression. Once that level is reached, members stop earning any experience until the cap is raised or removed.

XP earned during that period is not counted retroactively.

Level announcements

No milestone should go unnoticed, which is why you can set up announcements when a user levels up.

Level-up announcements

You can configure level-up announcements with three options:

  • Disabled: no announcement is sent
  • In the current channel: the announcement appears in the channel where the member earned the level
  • In a dedicated channel: the announcement is sent to a specific channel of your choice

Minimum level: set a threshold (level 10, for instance) to avoid spamming for low levels.

Custom color <:icon_premium:1096140508625125417>: premium servers can change the color of the announcement embed.

Required permissions: to send announcements, DraftBot needs the following permissions in the chosen channel: View Channel, Send Messages, Embed Links and Attach Files. If these permissions are removed, announcements are disabled automatically.

The level-up announcement is triggered whatever the source of the XP that caused the level-up: messages, voice, /adminxp, /dropxp, birthday gift, bingo, giveaway, Counter, or any other command or feature granting experience.

Customizing the message

The announcement message is fully customizable with dynamic variables:

VariableDescriptionExample
{user}Member mention@DraftBot
{user.id}Member ID689210436019716137
{user.username}UsernameDraftBot
{user.nickname}Nickname on the serverDraft
{user.globalname}Discord global nameDraftBot Official
{level}Level reached25
{server} / {server.name}Server nameMy Great Server
{server.id}Server ID382341865001844737
{server.membercount}Number of members15000
{channel}Channel mention#general
{channel.id}Channel ID923456789012345678
{channel.name}Channel namegeneral
{date}Current date15/01/2025
{time}Current time14:30
{timestamp}Dynamic Discord timestamp<t:1736947800:F>

Reward announcements

Set up separate announcements for level rewards. They use the same options and variables, with {reward} added to display the reward obtained.

Announcement of a new level
Announcement of a new level

Configuring the level system

⫸ Open the DraftBot panel

To enable the module, the first step is to click the button in the top right corner:

Enabling the level system from the panel
Enabling the level system from the panel

Every feature then appears:

Levels module enabled on the panel
Levels module enabled on the panel

Once your changes are done, remember to save them with the "Save" button at the bottom of the page!

Configuring rewards

The basic reward setup goes like this:

⫸ Open the DraftBot panel

Two sections are available:

Rewards menu from the DraftBot panel
Rewards menu from the DraftBot panel
  1. Create a reward: this option lets you create rewards and assign them to the level-ups of your choice. (Learn how to create a reward!)
  2. Configure announcements: you can enable or disable announcements, choose the channel they appear in, and even customize the message!

If you have already set up shop articles, they appear at the bottom of the screen, where you can edit or delete them.

Creating a reward

DraftBot lets you reward your members' activity through items of various types:

Reward creation menu, from the panel
Reward creation menu, from the panel

You can let your members obtain roles (temporary or permanent) when they reach a given level. To add a role to the rewards, select the reward type "role" or "temporary role".

Then choose:

  • The required level
  • The role to assign
  • The stacking mode: Cumulative or Evolving
  • The duration of the role (for a temporary role)

Cumulative role: the member keeps every reward role they have obtained (level 5, 10, 15, etc.).

Evolving role: only the role of the latest level reached is kept. Previous evolving reward roles are removed automatically on the next XP gain.

In the /rewards command, a 🔹 marker is displayed next to role rewards set to Evolving mode, making them easy to spot.

The selected role must have been created on your server beforehand, and must be accessible to DraftBot (so it must not sit higher than DraftBot's highest role).

Specific behaviors:

  • Skipping levels: if a member skips several levels at once (through /adminxp add), they receive every reward from the intermediate levels they have not obtained yet. For example, if a member goes straight from level 5 to level 25, they will receive the rewards of levels 10, 15, 20 and 25. For evolving roles, only the role of the highest level is kept.
  • Losing levels: if a member drops below the required level (through /adminxp remove or a change to the XP curve), the reward roles are removed automatically. Money, item and custom rewards are not taken back.

You can set up to 10 level rewards. Premium <:icon_premium:1096140508625125417> servers have no limit!

Migrating from MEE6

If you were already using a level system through MEE6, you can import your members' progress into DraftBot's level system!

Level import button
Level import button

After clicking Import MEE6 and confirming that you want to proceed with the import, DraftBot automatically retrieves all of the members' level information.

Make sure MEE6 is present on your server and that its leaderboard is publicly accessible!