Logo
Kythia
Logo
Kythia
Login
Login
Leveling & XP System
Minimized (Click to Restore)

Leveling & XP System

Gamify your server with a visual rank card, server-wide leaderboard, and full admin controls over user experience.


Kythia's Leveling system turns your Discord server into a persistent RPG-like experience. Members earn XP simply by talking, unlock new levels, and can show off a stunning, auto-generated rank card powered by kythia-arts.


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 (a progressive curve).
  • When a user levels up, Kythia sends a congratulatory message in the channel.
XP and Level are per-server, not global (unlike the economy system). Each server has its own independent leaderboard.

User Commands

Rank Profile Card

/leveling profile [user]

Generates a beautiful, custom-rendered rank card image for you or another user. The card displays:

  • Avatar with a colored border
  • Username and customizable tag (Level X)
  • Current XP and XP required for the next level
  • A visual XP progress bar (colored to match your bot's accent color)
  • A custom background image (if configured by the bot owner)
The profile card is rendered in 1024×450 pixels using the BagelFatOne-Regular font. Bot owners can set a custom backgroundUrl in kythia.config.js for a unique look.

Server Leaderboard

/leveling leaderboard

Displays the top-ranked members in your current server, sorted by level and XP. The leaderboard is paginated so you can browse 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 to any number. Their XP is reset to 0 at the new level. Useful for rewarding members, resetting a user's progress, or initial setup.

Add XP to a User

/leveling xp-add user: @User xp: <amount>

Grants a specific amount of XP to a user. The system automatically handles level-ups if the added 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. Advanced tool for fine-grained progress management.

Add a Level Role Reward

/leveling add level: <number> role: @Role

Assigns a role to be automatically granted when a user reaches a specific level. You can call this multiple times to build a tiered role reward system.

Level Reached Example Role
5 @Active Member
10 @Regular
25 @Veteran
50 @Legend

Admin Configuration

Configure the Leveling addon in kythia.config.js:

leveling: {
  active: true,
  backgroundUrl: 'https://your-cdn.com/leveling-bg.png', // Custom card background
},
🔗
Custom Background
Set backgroundUrl to any publicly accessible image URL to brand the rank card to your server's theme.
Color Theming
The XP bar, level tag, and border all inherit the bot.color hex value from your config for a cohesive look.
Kythia Documentation Sign in →