XP System
Members have two XP pools in each server: text XP from messages and voice XP from voice activity. Their combined XP (text + voice) sets their level. Leaderboards, rank cards and reward tracks can use any of the three.
Text XP
A message earns a random amount between Minimum and Maximum under Text XP per message (default 15 to 25), times the XP rate multiplier.
- Only one message per Text XP cooldown counts (default 60 seconds). Sending ten messages in a row earns XP once.
- Messages from bots never earn XP.
- The member and the channel must pass the XP filters. A message in a thread or forum post is filtered on its parent channel.
Voice XP
Every minute of qualifying voice time earns a random amount between Minimum and Maximum under Voice XP per minute (active) (default 5 to 10), times the XP rate multiplier. The bot checks each member every few seconds and awards XP once a full minute of qualifying time has built up.
Voice time qualifies only when all of these are true:
- The member is in a voice or stage channel that is not the server's AFK channel.
- The member is not muted or deafened, by themselves or by the server.
- The member is not suppressed (for example, an audience member in a stage channel).
- At least one other member in the channel who is not a bot also meets the rules above. Two people who are both muted do not earn XP.
- The member and the voice channel pass the XP filters.
Levels
Leveling is cumulative: a member's level is worked out from their total combined XP, and each level needs more XP than the one before. There is no level cap.
XP to go from level n to n + 1: 5 * n^2 + 50 * n + 100. Levels are cumulative: a member's level comes from their total XP.
| Level | XP from the level before | Total XP to reach it |
|---|---|---|
| 1 | 100 | 100 |
| 2 | 155 | 255 |
| 3 | 220 | 475 |
| 4 | 295 | 770 |
| 5 | 380 | 1,150 |
| 10 | 955 | 4,675 |
| 15 | 1,780 | 11,825 |
| 20 | 2,855 | 23,850 |
| 25 | 4,180 | 42,000 |
| 30 | 5,755 | 67,525 |
| 40 | 9,655 | 145,700 |
| 50 | 14,555 | 268,375 |
| 75 | 31,180 | 835,375 |
| 100 | 54,055 | 1,899,250 |
A level-up happens when the combined total crosses one of these thresholds, whichever pool the XP went to. That is when level-up messages are sent and reward roles are checked.
XP rate multiplier
XP Rate Multiplier scales every text and voice award in this server. It can be 0.25x, 0.5x, 0.75x, 1x, 1.5x, 2x, 2.5x or 3x. The result is rounded down, but an award is always at least 1 XP.
Global XP
Alongside each server's XP, every member also has global XP, one counter across every server that uses this bot. /rank global:true and /profile global:true show it, and /leaderboard global:true ranks everyone by it (see The global board).
- Global XP always uses the default rates: 15 to 25 XP per message at most once a minute, and 5 to 10 XP per qualifying voice minute.
- It does not use this server's rate, cooldown or filters, and it is collected even in servers where Levels is turned off.
- It never affects server levels, rewards or leaderboards.
Changing XP by hand
Admins can change XP with /xp add, /xp remove and /xp reset for one member or everyone with a role. How the type option works:
type | /xp add | /xp remove | /xp reset |
|---|---|---|---|
| Combined (default) | Adds the amount to text XP, so combined XP rises by exactly that amount | Takes the amount from text XP first, then the rest from voice XP | Resets text XP, message count and voice XP |
| Text XP | Adds to text XP | Removes from text XP | Resets text XP and message count |
| Voice XP | Adds to voice XP | Removes from voice XP | Resets voice XP |
XP never goes below 0. After each change the member's reward roles are checked again. These commands do not send level-up messages. See Commands.