Leveling & XP System
Gamify your server with automatic XP, visual rank cards, a server leaderboard, and role rewards for reaching levels.
ShadowCore's leveling system turns your Discord server into a persistent experience game. Members earn XP just by chatting, unlock new levels, and can show off a custom-generated rank card.
How XP Works
- Members earn XP automatically every time they send a message in a text channel
- There's a built-in cooldown to prevent spam-farming XP
- The XP required to level up scales up with each level (progressive curve)
- ShadowCore sends a congratulations message when someone levels up
User Commands
Rank card
/leveling profile [user]
Generates a beautiful rank card image for you or another user. The card shows:
- Avatar with a colored border
- Username and current level
- Current XP and XP needed for the next level
- A visual XP progress bar
Leave user blank to see your own card.
Server leaderboard
/leveling leaderboard
Displays the top-ranked members in your server, sorted by level and XP. Paginated so you can scroll through all members.
Admin Commands
These commands require the Manage Guild permission.
Set a user's level
/leveling set user: @User level: <number>
Instantly sets a user's level. Their XP is reset to 0 at the new level. Useful for rewarding members or resetting progress.
Add XP to a user
/leveling xp-add user: @User xp: <amount>
Grants a specific amount of XP. ShadowCore automatically handles level-ups if the XP pushes them over the threshold.
Set a user's XP directly
/leveling xp-set user: @User xp: <amount>
Sets a user's raw XP value to a precise number without changing their level.
Add a level role reward
/leveling add level: <number> role: @Role
Assigns a role to be automatically given when a user reaches a specific level. Call this multiple times to build a tiered reward system.
Example reward tiers:
| Level Reached | Example Role |
|---|---|
| 5 | @Active Member |
| 10 | @Regular |
| 25 | @Veteran |
| 50 | @Legend |