Skip to content
VORQUL
VorqulBOT / Engagement

XP, levels and rank

Leveling is the cheapest retention mechanic that exists, and the easiest to break. The difference between a system people care about and background noise is entirely in the configuration.

VorqulBOT includes a Discord leveling system that awards a random amount of XP per message - 15 to 25 by default, once per 60-second cooldown - with optional voice XP per minute, a server-wide multiplier, no-XP channels and roles, an optional level cap and reward roles that either stack or replace the previous one. XP data is stored in your own database.

Text XP
15-25 per message, 60s cooldown
Voice XP
5 per minute, off by default
Level cap
100 by default, 0 for none
Reward roles
Stack or replace

Earning XP

Text XP is a random amount between a minimum and a maximum - 15 and 25 out of the box - awarded at most once per cooldown, 60 seconds by default. Posting twenty single-word messages therefore earns exactly as much as posting one.

Voice XP is off by default. Switched on, it pays per minute spent in voice, 5 XP a minute unless you change it, with a minimum-participants requirement so sitting alone in a channel does not count and an option to ignore deafened members.

A server-wide multiplier scales both. Channels and roles can be excluded outright through the no-XP lists, which is how you keep the bot-commands channel from producing the top of the leaderboard.

Levels and caps

Levels are derived from total XP, and a level cap can be set - 100 by default, or 0 to remove it entirely. Once a member is at the cap they keep earning XP without gaining levels, so the leaderboard still moves.

Level-up announcements go to a channel you nominate, with a message template you write yourself. Leave the channel empty and the announcements stay quiet, which on a large server is the more popular choice.

Reward roles

A reward role is a level plus a role. When a member crosses the threshold the role is granted, and the stackRoles setting decides what happens to the one before it: keep every role earned, or hand out only the highest and remove the previous one.

Because the rewards are evaluated on every level change, a member who joins with XP already recorded, or has their XP adjusted by staff, ends up with the correct roles rather than the ones they happened to pass through.

Seeing where you stand

/rank shows a member their level, their XP against the next threshold and a progress bar, as an embed rather than a rendered image - the same information without a font and canvas dependency in the hot path.

/leaderboard ranks by XP and levels, by economy balance or by message count, and /msgtop and /vctop break out messages and voice time on their own.

  • /rank - level, XP and progress for one member
  • /leaderboard - XP, economy or messages
  • /msgtop - message count ranking
  • /vctop - voice time ranking

Keeping it honest

  • Per-message cooldown against XP farming
  • No-XP channels and no-XP roles
  • Minimum participants before voice XP counts
  • Optional exclusion of deafened members
  • Server-wide multiplier, including 0 to freeze XP entirely
Terms on this page

XP cooldown Server Health Score

Frequently asked questions

Related pages