Skip to content

XP & Leveling System

The XP & Leveling System is a fully guild-normalized engagement tracker that rewards genuine participation in both text and voice channels. Rather than giving flat XP per message, the system evaluates the quality of activity within rolling 2-minute windows and applies a proprietary dynamic curve against each server’s own activity patterns - meaning spammers are naturally penalized without any manual tuning, and every server self-calibrates over time.

  1. Proprietary dynamic curve - XP multiplier is determined by a dynamic curve that peaks for consistent, genuine participation and drops for both low-effort spam and abnormal activity bursts
  2. Activity windows - each user’s messages are grouped into rolling 2-minute windows; the window closes and awards XP when it expires or the user goes idle
  3. Effort scoring - each window accumulates an effort score from message count, word count (filtered for real words), and replies; all three signals are capped per window to prevent farming
  4. Guild baseline - a per-server adaptive baseline self-calibrates the curve over time; new servers use a sensible default until enough data is collected
  5. Text XP & Voice XP - tracked independently with separate leaderboards, levels, and rank card bars; the two pipelines never interfere
  6. Progressive level formula - XP required per level scales progressively, giving a natural difficulty ramp (Level 5 ≈ 3 hrs, Level 50 ≈ 2 weeks, Level 100 ≈ 2 months)
  7. Level-up announcements - configurable channel, custom message with {user} / {level} placeholders, and a choice of plain-text or embed format
  8. Role rewards - assign roles at specific levels; supports both stacking (keep all past rewards) and replacement (only highest role) modes
  9. Canvas rank card - a generated 934×282px image showing text level, voice level, both progress bars, and both server ranks side-by-side
  10. Reaction bonuses - reactions on a message within 24 hours grant the original author 30 bonus XP seconds, capped at 3 reactions per message

The bot uses a dynamic system to calculate XP, rewarding genuine, consistent participation while naturally ignoring spam and artificial activity bursts.

  • Chatting naturally yields the best XP returns
  • Sending large volumes of short, low-effort messages yields diminishing returns
  • The system adapts continuously to your server’s own activity patterns without any manual configuration

  1. Open the settings panel - run /xp settings to open the interactive configuration dashboard. The panel expires after 5 minutes of inactivity.

  2. Enable the system - the XP system is enabled by default for all servers. Toggle it off per-server with the Toggle XP button if needed.

  3. Set a level-up channel Optional - click Set Channel and select a text channel from the dropdown. If no channel is set, level-up events are silent (role rewards still apply).

  4. Customise the level-up message Optional - click Set Message and enter a custom message. Supported placeholders: {user} (mention), {level} (new level number). Toggle between plain-text and embed format with the message type button.

  5. Configure role rewards Optional - run /xp rewards or click Manage Rewards to add level-gated roles. Set the level threshold and target role. Toggle Stack Rewards in the settings panel to control whether lower rewards are kept or replaced.

  6. Configure blacklists Optional - click Configure Blacklists to exclude specific channels or roles from earning XP. Blacklisted channels and roles earn no text XP; blacklisted roles also earn no voice XP.