Leveling & XP System
An enterprise-grade XP engine: many activity sources, an anti-farming scorer, choosable level formulas, stacking multipliers, unlimited level rewards, a prestige system, rich profile cards, and multiple leaderboards — all configurable from the dashboard or slash commands.
On this page
Level Formulas#
Pick the curve that decides how much XP each level costs. The default is the MEE6-compatible quadratic, so existing servers see no change.
| Formula | XP to complete level N | Feel |
|---|---|---|
| Quadratic (default) | curve×N² + factor×N + base → 5N² + 50N + 100 | Fast early, progressively harder |
| Linear | factor×N + base | Steady, predictable pace |
| Exponential | base × exponent^N | Gentle start, steep late game |
| Custom | Your own expression of n | Full control |
XP Sources#
Every source has its own on/off toggle, XP amount, cooldown, daily limit, and multiplier. Messages and voice are on by default; the rest are opt-in.
| Source | Default | Notes |
|---|---|---|
| Messages | 15 XP (± variance) | Per-user cooldown (default 60s); gated by the anti-farm scorer. |
| Voice | 10 XP / min | Camera, screen-share and stage bonuses; ignores AFK / alone / deafened (configurable). |
| Reactions | 2 XP | The member who adds the reaction earns. |
| Threads | 20 XP | To the thread creator. |
| Forum posts | 25 XP | A post in a forum channel. |
| Attachments | 5 XP | A message carrying an image/file. |
| Slash commands | 3 XP | Using an application command. |
| Server boost | 500 XP | When a member starts boosting. |
| Scheduled events | 50 XP | When a member subscribes to a scheduled event. |
XP Multipliers#
Boost earning globally or for specific contexts. Multipliers combine under your chosen stacking rule and are capped at a maximum.
| Type | Applies to |
|---|---|
| Server | Everyone, always |
| Weekend / Holiday | On chosen days / dates |
| Role | Members with a role |
| Channel | Activity in a channel |
| Temporary | Server-wide, with an expiry |
| Personal | A single member (e.g. a reward) |
| Prestige | Permanent stack per prestige earned |
Stacking modes: multiply (2× and 3× → 6×), add (2× and 3× → 4×), or highest (the single biggest).
Level Rewards#
Grant unlimited rewards when members reach a level. A big XP jump still pays out every level crossed.
| Reward type | Effect |
|---|---|
| Role | Assign a Discord role (stack or replace previous level roles) |
| Multiplier | Grant a permanent or timed personal XP boost |
| Badge | Award a profile badge |
| Announcement | Post a custom message on that level-up |
Prestige#
When members reach the max level they can prestige — their prestige counter goes up by one, their level and current-level XP reset, and they keep their lifetime XP, in exchange for prestige rewards.
| Setting | Description |
|---|---|
| Max level | The level required to prestige (default 100) |
| Level after prestige | Where a member restarts (default 0). Kept below the cap |
| Reset mode | Full (current-level XP → 0) or Keep a percentage |
| Lifetime XP | Never reset — it is what the profile card and the prestige board rank by |
| Max prestige | Cap on prestige levels (0 = unlimited) |
| XP stack / prestige | Permanent XP multiplier gained each prestige |
| Confirmation | A Confirm button that expires (default 60 seconds) |
| Cooldown | Time between prestiges (default 24 hours) |
| Minimum membership | Full days in the server before a member may prestige (default 7) |
| Prestige rewards | Roles or permanent XP boosts per prestige. Badges and profile borders were retired — a stored one is listed as no longer paid, and removing it is one click on the dashboard |
| Replace previous roles | Carry only the current tier's roles, or keep every one earned |
| Announcements | An editable embed (title and message) posted in a channel you choose |
| Leaderboard | Show prestige rankings, tie-broken by lifetime XP |
A prestige is one atomic change: the count, the level, the XP and an audit record move together, so a double click or a restart can never land two. Roles, badges and the announcement are delivered afterwards and their outcome is recorded separately — a role the bot cannot hand out never undoes a prestige that already happened. Eligibility (level, membership age, cooldown) is always decided on the server.
Leaderboards & Level-up#
Multiple boards, selectable on /leaderboard: all-time XP, weekly, monthly, messages, voice, reactions and prestige. Previous / Next buttons page through the board and disable themselves after 60 seconds.
Level-up announcements are fully configurable — post in the current channel, a specific channel, a DM, both a channel and a DM, or off; as plain text or an embed; optionally via a webhook, with a custom template ({user}, {level}, {username}).
Configuration#
Everything lives on Dashboard → Leveling — XP & activity, the level-up message, level roles, the level curve, prestige and XP boosts, each on its own card. Admins can also manage XP directly with slash / prefix commands.
Commands#
Slash commands cover the daily surface. A few text-only commands keep short names for the server prefix (default !) or an @mention.
Slash commands#
rank [user]Canvas rank card with XP bar, level, progress and server rank. Also !rank.profile [user]Full profile card: banner, prestige, stats, badges and join/created dates. Also !profile.leaderboard [type]Server leaderboard — all-time / weekly / monthly XP, messages, voice, reactions or prestige, paged with Previous / Next buttons that switch off after 60 seconds. Also !leaderboard.rewardsView the level rewards configured for the server. Also !rewards.setbg [preset] [image_url] [accent]Set a custom background & accent colour for your rank card. Slash only.prestige status | rewards | leaderboard | historyYour level, prestige rank, cooldown and eligibility (with a Confirm button when you can go), the server's prestige reward ladder, the prestige rankings and your own prestige history. Also !prestige ….xp give | remove | set | reset | multiplierAdmin (XP Admin): adjust member XP, reset a member or the whole server, and add multipliers. Also !xp ….prestige settingsAdmin (XP Admin): show the server's live prestige configuration as the bot reads it. Also !prestige settings.Text-only commands#
level [@user]The same canvas rank card as /rank. Aliases: !lvl, !xplevel.prestige [status|confirm|rewards|leaderboard|history|settings]The text twin of /prestige. status (the default) shows your progress and a Confirm button; confirm is the typed path. Discord does not allow a command with subcommands to be invoked bare, which is why /prestige spells its status subcommand out.Rank & Profile Cards#
Generated server-side with canvas and returned as PNG attachments. The profile card adds the member banner, prestige, badges and dates.
Customise your card with /setbg (preset or image background + accent colour). Per-guild accent and card styling live in Dashboard → Leveling.