Leveling
Leveling turns everyday activity into progress. Members earn XP for sending messages and for spending time in voice, climb through levels, and can unlock reward roles along the way. Everyone can check their rank or the server leaderboard, and admins control the rates and rewards.
| Tier | Free |
| Command | /xp |
| Who can use | Everyone to view, Admins to configure |
| Also on dashboard | Yes |
How it works
Section titled “How it works”Leveling is opt-in per server. It does nothing until an admin turns it on from /xp settings (or the dashboard). Once enabled, members earn XP three ways:
- Messages - each message awards a random amount of XP within a range you set (15 to 40 by default). To stop spam farming, XP is only granted once per cooldown window (10 seconds by default), so sending several messages in a row still only pays out once.
- Voice - time in a real voice or stage channel pays out XP per minute (5 per minute by default), credited when the member leaves or switches channels.
- Bot commands - using the bot’s own slash commands earns XP too, on the same cooldown as messages. You can turn this off per server if you prefer. It is on by default.
Voice XP is only awarded when the member is genuinely active. It is skipped when:
- They are muted, deafened, server-muted, or server-deafened.
- They are alone (a channel needs at least two non-bot members present).
- They are in the server’s AFK channel, or a channel marked as no-XP.
When a member crosses into a new level, the bot can announce it and hand out reward roles automatically. Reward roles and channels or roles that should never earn XP are managed on the dashboard.
Ranks and the leaderboard come back as rendered picture cards - avatar, level, rank, and a progress bar on a starfield background - and every member can restyle their own card with /xp customize: a custom accent color, or a full background image of their own. Each server also gets a public web leaderboard at codexhelper.com/leaderboard/<server id>, on by default and switchable off in the settings.
XP is saved in batches every few minutes. Your own /xp rank always shows your live total the moment you earn it, and level-ups, announcements, and reward roles are instant; only the leaderboards (in Discord and on the web) can run a few minutes behind. A restart can lose the last few minutes of the very newest XP, which is a fair trade for a leaderboard feature.
Commands
Section titled “Commands”/xp rank
Section titled “/xp rank”Show a rendered rank card: your avatar, level, server rank, total XP, and a progress bar toward the next level. Point it at someone else to see their card instead (drawn with their card style). Members who haven’t earned XP yet get a simple text summary. The card posts publicly so the channel can see it.
| Option | Type | Required | Description |
|---|---|---|---|
member | member | No | Whose rank to show (defaults to you) |
/xp rank member:@Someone/xp leaderboard
Section titled “/xp leaderboard”Show the server’s XP leaderboard as a rendered image, ranked highest to lowest with medals for the top three, with prev/next buttons to page through everyone who has earned XP. Your own row is outlined so you can spot yourself. The board posts publicly, anyone in the channel can use the page buttons, and a Full leaderboard button links straight to the server’s web leaderboard (unless it’s switched off).
| Option | Type | Required | Description |
|---|---|---|---|
| (none) |
/xp leaderboard/xp customize
Section titled “/xp customize”Restyle your personal rank card. Run it bare and a preview opens with a menu of accent colors (Gold, Emerald, Sky, Violet, Rose, Ember, Lime, Frost, Crimson, or any custom hex) for the progress bar, ring, and highlights - the preview redraws as you pick. Upload an image with the background option and your card drops the starry default entirely and uses your picture instead, dimmed just enough to keep the text readable. Images that don’t fit the card are cropped to their middle at full quality - never squashed or zoomed out. Changes save instantly and follow you to every server using the bot.
| Option | Type | Required | Description |
|---|---|---|---|
background | image file | No | Becomes your card’s background (PNG, JPG, or WEBP, up to 10 MB, at least 480x200) |
reset_to_default | true / false | No | True clears your custom background and accent, back to the stock card |
/xp customize background:<your image>/xp settings
Section titled “/xp settings”Open an interactive panel to view and change every leveling setting. Toggles apply instantly; the message XP, voice XP, and announcement-channel options open a short pop-up form. The panel refreshes in place as you make changes.
| Option | Type | Required | Description |
|---|---|---|---|
| (none) |
/xp settingsSettings
Section titled “Settings”The /xp settings panel covers everything you can tune from inside Discord:
| Setting | What it does |
|---|---|
| Turn leveling on / off | Master switch for earning XP in this server |
| Message XP | Minimum and maximum XP per message, plus the cooldown in seconds |
| Voice XP | XP earned per minute in voice (set it to 0 to turn voice XP off) |
| XP from bot commands | Whether using the bot’s slash commands earns XP (on by default) |
| Web leaderboard | Whether the server’s public leaderboard page is visible on codexhelper.com (public by default; the settings panel links straight to it) |
| Announcements | Where level-ups are posted: in the channel where they leveled up, in a set channel, by direct message, or off entirely (off by default) |
| Reward mode | Stack keeps every reward role a member has earned. Highest only keeps just the top one |
| Role rewards | Add or remove a role to grant at a chosen level (pick the role, then set the level) |
| No-XP channels | Channels (and anything under an excluded category) where messages and voice earn nothing |
| No-XP roles | Roles whose members never earn XP |
Role rewards, no-XP channels and no-XP roles are list-based, so each opens its own sub-menu in the panel with native role and channel pickers to add or remove entries. The main panel also shows how many of each you currently have.
Prefer a browser? The same settings are on the dashboard at dashboard.codexhelper.com, with a roomier list view.
Public web leaderboard
Section titled “Public web leaderboard”Every server with leveling enabled gets a shareable leaderboard page at:
https://codexhelper.com/leaderboard/<server id>No login needed - drop the link in an announcement and anyone can browse the full rankings with names, avatars, levels, and XP, 25 members per page. Names and avatars update as members chat. Members who left the server keep the name they’re known by, and only deleted Discord accounts show as “Deleted user”.
The page is on by default. If you’d rather keep rankings inside Discord, flip Web leaderboard off in /xp settings or on the dashboard - the page then shows “not available”, exactly as if leveling were never enabled. /xp settings shows the live link whenever the page is public.