The level system

Your members earn XP by chatting and in voice, level up and unlock roles.

4 min read Updated October 11, 2026
On this page
  1. Step 1: announce level-ups
  2. Step 2: reward with roles
  3. Step 3: set how much XP is earned
  4. How hard levels get
  5. Managing members' XP
  6. The leaderboard and the level card
  7. If it doesn't work
  8. Every command

With the level system, your members earn XP when they write messages and when they are in voice. With enough XP, they level up. You can reward some levels with roles, and your members compare themselves on a leaderboard: a good way to drive activity on your server.

A level card

Crow Tools' commands start with ; (its default prefix). Crow Tools answers in French.

In short

  1. ;lvlmessage on #levels: the bot announces every level-up in that channel.
  2. ;role level add @Active 10: the @Active role is given at level 10.
  3. Your members type ;level to see their card, and ;leaderboard level for the ranking.

Step 1: announce level-ups

;lvlmessage on #levels turns announcements on in that channel (without a channel, the one you type the command in). ;lvlmessage off turns them off.

To choose the announcement's text:

;lvlmessage set Well done {MemberMention}, you reached level {MemberLevel}!

{MemberMention} mentions the member and {MemberLevel} gives their new level. Every member variable works: see the variables page.

Step 2: reward with roles

  • ;role level add @Active 10: the @Active role is given automatically at level 10;
  • ;role level del @Active removes that reward;
  • ;role level list shows the level roles;
  • ;role level cumul on: members keep every role they earned. With off, they keep only the highest;
  • ;role level sync updates every member's level roles (useful after a change; it can take a while).

The bot's role must be above the level roles in the server's role list.

Step 3: set how much XP is earned

The activity needed for a level

The rate is the amount of XP earned:

  • ;rate message 20: the XP earned per message;
  • ;rate voc 5: the XP earned in voice; a member in voice earns it 6 times a minute (30 XP a minute here). A member who has deafened themselves earns nothing;
  • ;rate mute 50: a muted member in voice earns only 50% of the XP.

Add a channel at the end for a setting specific to that channel: ;rate message 40 #general earns more XP in #general, ;rate message 1 #commands almost nothing in #commands. A rate goes from 0 (no XP) to 100. ;rate list shows the channels with a specific setting.

To find the right settings, ;rate level 10 tells you how many messages, or how long in voice, it takes to reach level 10 with your current rates.

Against spam

If a member sends several messages very quickly, only the first one earns XP. ;cooldown 5s sets this minimum delay between two counted messages.

By default, a message earns 2 XP, the voice rate is 3, a muted member earns 75% of the XP, and the delay between two counted messages is 10 seconds. ;settings level shows every setting of the level system.

How hard levels get

;levelfunction (owners only) changes how levels get harder to reach: you pick a formula and its constants (a, b, c), and the panel shows at once the XP needed for levels 1, 2, 3, 5, 10 and 20.

When you confirm, you choose what stays fixed for your members: their XP (their level then changes with the new formula) or their level (their XP is recalculated instead). The setting applies to all of the bot's servers.

Managing members' XP

  • ;xp add 500 @member gives a member 500 XP, ;xp remove 500 @member takes some away;
  • ;xp reset @member sets their XP back to zero, ;xp resetall does it for every member.

No going back

A reset is final. Think twice before ;xp resetall.

When a member leaves the server, their XP is kept for when they come back. With ;leavereset xp on, they lose it when leaving; ;leavereset xp off goes back to the default.

The leaderboard and the level card

  • ;level shows your own level card, ;level @member someone else's;
  • ;leaderboard level shows the server's ranking;
  • ;levelcard (owners) customises the level card for all of the bot's servers: a menu picks the colour of each element (the progress bar, "Rank:", the rank, the level, the name, the XP), changes the background picture, or puts the card back to default.

If it doesn't work

  • Members earn very little XP: check the rates with ;settings level and ;rate list, and the ;cooldown delay.
  • Level roles aren't given: the bot's role must be above those roles. Then run ;role level sync.
  • No level announcement: check that ;lvlmessage on was done in the right channel, and that the bot can write there.

Every command

Each levels command, with its arguments and who can use it: Commands: Levels (in French).

Documentation
Français Discord server
Popular searches
↑ ↓ moveEnter openEsc close