Skip to content

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.

TierFree
Command/xp
Who can useEveryone to view, Admins to configure
Also on dashboardYes

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.

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.

OptionTypeRequiredDescription
membermemberNoWhose rank to show (defaults to you)
/xp rank member:@Someone

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).

OptionTypeRequiredDescription
(none)
/xp leaderboard

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.

OptionTypeRequiredDescription
backgroundimage fileNoBecomes your card’s background (PNG, JPG, or WEBP, up to 10 MB, at least 480x200)
reset_to_defaulttrue / falseNoTrue clears your custom background and accent, back to the stock card
/xp customize background:<your image>

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.

OptionTypeRequiredDescription
(none)
/xp settings

The /xp settings panel covers everything you can tune from inside Discord:

SettingWhat it does
Turn leveling on / offMaster switch for earning XP in this server
Message XPMinimum and maximum XP per message, plus the cooldown in seconds
Voice XPXP earned per minute in voice (set it to 0 to turn voice XP off)
XP from bot commandsWhether using the bot’s slash commands earns XP (on by default)
Web leaderboardWhether the server’s public leaderboard page is visible on codexhelper.com (public by default; the settings panel links straight to it)
AnnouncementsWhere 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 modeStack keeps every reward role a member has earned. Highest only keeps just the top one
Role rewardsAdd or remove a role to grant at a chosen level (pick the role, then set the level)
No-XP channelsChannels (and anything under an excluded category) where messages and voice earn nothing
No-XP rolesRoles 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.

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.