Level Bot

Level Bot

Advanced leveling and reputation system for Discord with XP multipliers, role rewards, and engagement analytics.

Features

Leveling System

  • Permanent leaderboard with all-time XP tracking
  • Position roles that reward top performers automatically (updated hourly)
  • Level roles assigned at specific levels
  • Stat roles based on messages, media, reactions given, or reactions received
  • Stack or replace — choose whether role rewards stack or replace previous tiers

Advanced XP System

  • Configurable XP range per message (default: 5–30)
  • Message length XP — optional scaling based on unique word count
  • Reaction XP — optional XP for reacting to others’ messages (configurable min/max range, default 3–15). Only reactions on messages less than 1 hour old count
  • Reaction stats (given/received) are always tracked, even when reaction XP is disabled
  • Configurable per-user cooldown (default: 60 seconds)
  • Max level cap (optional)

XP Multipliers

  • Global — server-wide multiplier
  • Channel — boost specific channels (checks channel, parent, and category)
  • Role — VIP/Booster roles earn more (highest role multiplier applies)
  • Multipliers stack multiplicatively: Global × Channel × Role

Analytics & Stats

  • Message count, media shared, reactions given, reactions received
  • Neon-styled visual progress bars

Access Control

  • Channel whitelist/blacklist (up to 25 channels, supports categories)
  • Role whitelist/blacklist (up to 25 roles)
  • Option to ignore image-only messages
  • Users can opt out of all tracking

User Commands

CommandDescription
/level [user]View rank card with level, XP, rank, and progress bar
/leaderboardServer leaderboard — top 10 by XP with medals for top 3
/stats [user]Detailed stats: messages, media, reactions given/received
/opt-outToggle opt-out from leveling and reputation tracking
/helpView all available commands

Reputation Commands

CommandDescriptionPermission
/rep user [user]Check a user’s reputation pointsEveryone
/rep leaderboardTop 20 users by reputationEveryone
/rep set <user> <amount>Set a user’s repRep Admin
/rep add <user> <amount>Add rep to a userRep Admin
/rep remove <user> <amount>Remove rep from a userRep Admin
/rep reset <user>Reset a user’s rep to 0Rep Admin
/rep transfer <source> <target> <amount>Transfer rep between usersRep Admin
/rep configOpen reputation configuration panelAdministrator

Rep Admin = Server Administrator or any role in the configured admin roles list.


Admin Commands

/setup

Comprehensive setup interface (Administrator only) with 4 panels:

General Settings

  • Message XP range (min/max) and cooldown
  • Reaction XP range (min/max)
  • Global multiplier and max level
  • Toggle leveling on/off
  • XP modes: message length scaling, reaction XP, ignore image-only messages

Announcements

  • Level-up and rank-up message templates
  • Announcement frequency, channel, and role-reward-only filter

Channels & Roles

  • Channel whitelist or blacklist (up to 25)
  • Role whitelist or blacklist (up to 25)

Role Rules & Multipliers

  • Level, position, and stat-based role rewards
  • Stack or replace mode per rule type
  • Channel and role XP multipliers

/set Commands

Direct commands for managing user and server leveling data (Administrator only):

CommandDescription
/set xp <user> <amount>Set a user’s XP to a specific amount
/set level <user> <level>Set a user’s level (0–100,000)
/set user <user> [reset_announcements]Reset a user’s leveling data
/set leaderboard [percentage]Reset the server leaderboard (1–100%, default 100%)

Partial leaderboard resets (e.g., 50%) remove that percentage of XP from all users instead of a full wipe.

/sync

Manually resync all role assignments. Useful after configuration changes.


Getting Started

  1. Invite the Bot — Needs Manage Roles, Read Messages, Send Messages, and Attach Files.
  2. Run /setup — Open the interactive configuration panel.
  3. Configure XP — Set XP range, cooldown, and optional features.
  4. Set Up Channels & Roles — Whitelist or blacklist as needed.
  5. Configure Role Rewards — Set up level, position, or stat-based roles.
  6. Customize Announcements — Configure level-up and rank-up messages.
  7. Enable Reputation — Use /rep config to set up the rep system.
  8. Test — Use /level, /leaderboard, and /stats to verify.

Reputation System

A message-based system where users give rep by thanking others.

How It Works

When a user sends a message matching the trigger pattern while mentioning or replying to someone, the target receives a reputation point. The bot reacts with a checkmark on success.

Default Trigger Words

thanks, thank, ty, thx, +rep, danks

Rules

  • Must mention or reply to someone
  • Cannot give rep to yourself
  • Cannot give rep to bots
  • Cooldown per giver (default: 24 hours)

Configuration (/rep config)

  • Name — Custom display name for rep points
  • Cooldown — Minutes between giving rep (default: 1440)
  • Regex — Custom detection pattern for trigger words
  • Channel Whitelist/Blacklist — Control where rep can be given (supports channels and categories)
  • Give Role Whitelist/Blacklist — Control which roles can give rep
  • Receive Role Whitelist/Blacklist — Control which roles can receive rep
  • Admin Roles — Roles that can use admin rep commands
  • Reward Roles — Auto-assign roles based on rep thresholds or leaderboard position (stack or replace)
  • Rep Reset — Reset all reputation data (supports partial percentage resets)

Role Reward Types

Level Roles

Assigned when a user reaches a specific level.

Position Roles

Assigned to the top N users on the leaderboard. Updated automatically every hour.

Stat Roles

Based on message count, media shared, reactions given, or reactions received. Assigned immediately when the threshold is met.

Stack vs Replace

  • Stack (default): User keeps all earned roles from the same type.
  • Replace: Higher-tier role removes the lower-tier role automatically.

Rep Reward Roles

Rep reward roles support two types:

Threshold-Based (Default)

Roles assigned automatically when a user’s rep reaches a set amount. Assigned in real-time when rep changes.

Position-Based

Assigned to the top N users on the rep leaderboard. Updated hourly alongside the XP position roles.

Both types support stack or replace mode.


Announcement Variables

Template Variables

VariableDescription
{user}Username
{user.mention}@mention
{user.name}Display name
{user.id}User ID
{user.avatar}Avatar URL
{server.name} / {guild.name}Server name
{guild.id}Server ID
{guild.icon}Server icon URL
{level}New level
{xp}Total XP
{rank}Current rank (rank-up only)

Default level-up: {user.mention} reached level {level}! Default rank-up: {user.mention} reached rank {rank}!

Filters

  • Frequency — Announce every N levels/ranks
  • Role Rewards Only — Only announce when a role is granted
  • Custom Channel — Send announcements to a specific channel

FAQ

Can I reset a user’s level or XP? Yes! Use /set user to reset a user, or /set xp and /set level to set specific values.

How do I reset the entire leaderboard? Use /set leaderboard. Supports partial reset (e.g., 50% removes half of everyone’s XP) or full reset (100%).

Whitelist vs blacklist? Whitelist: ONLY listed channels/roles earn XP. Blacklist: Listed channels/roles do NOT earn XP.

How do multipliers work? Multipliers stack multiplicatively. Global × Channel × Role. For example, a 2x global, 1.5x channel, and 1.2x role multiplier results in a 3.6x final multiplier. For role multipliers, only the highest among your roles applies.

How are position roles handled? Ranks recalculate every hour. When a user enters the top N, they get the role. When someone falls out, the role is removed.

Can users opt out? Yes. /opt-out stops all XP, stat, and rep tracking. They can toggle it back on anytime.

Need Help?

Join our support server for assistance and updates