Engagement & games

A Discord leveling bot that rewards real activity

Levels is BotGG’s XP and leveling system for Discord. Members earn XP for chatting, hanging out in voice and getting reactions, level up with custom announcements, unlock roles and badges, and compare themselves on a leaderboard — while spam earns nothing.

  • Works on the Free plan
  • 4 slash commands
  • Set up in the web console
generalDiscord preview

LeoToday at 20:14

gg, that last round was close

BotGGBOTToday at 20:16

🎉 @Leo just reached level 10!
🎁 Rewards: @Regular

LeoToday at 20:18

/leaderboard

BotGGBOTToday at 20:20

🏆 Nightfall — XP
🥇 @Mia — Level 24 · 18,420 XP
🥈 @Oleg — Level 21 · 14,905 XP
🥉 @Ash — Level 17 · 10,230 XP
#4 @Leo — Level 10 · 3,710 XP
XP
Find me
A level-up announcement and the /leaderboard embed

What you get

XP from chat, voice and reactions

Messages earn a random amount with a cooldown, voice time earns XP per minute when at least two people are talking, and reactions from others add a quality bonus. Optionally, the member who reacts earns a little XP too (once per message, with a daily cap).

Anti-farming built in

Short messages and repeated copy-paste earn nothing, AFK and muted voice doesn’t count, and self-reactions are ignored. Exclude channels or roles entirely.

Role rewards

Give a role at any level, stack them or keep only the highest, remove them if a member drops below, and restore them when someone rejoins.

Rank cards

/rank renders an image card with avatar, level, rank, XP bar, streak and badges in neon, glass or minimal style. Members can pick their own accent color.

Streaks and achievements

A daily streak bonus rewards coming back, and 20 built-in achievements — from first message to 100 hours in voice — show up as badges.

XP boosts and seasons

Run double-XP events for messages, voice or both, and reset competition monthly or quarterly with seasons while lifetime XP stays intact.

How it works

  1. Enable Levels in the console

    Turn on Levels in the BotGG console and pick which XP sources count and how much each is worth.

  2. Tune the curve and exclusions

    Choose a level curve (MEE6-style, linear, exponential or your own table), set role, channel and booster multipliers, and list no-XP channels and roles.

  3. Set rewards and announcements

    Add role rewards, write the level-up and milestone messages with placeholders, and choose where they go: the current channel, a fixed channel, DMs or nowhere.

  4. Let members play

    Members check progress with /rank, /leaderboard and /achievements. Admins adjust XP with /levels give, take, set and start boosts with /levels boost.

A Discord XP bot that is hard to farm

Leveling only works if levels mean something. BotGG ignores messages below a minimum length, gives nothing for a message identical to the previous one, and pays only a small fixed amount for link or attachment-only posts. Voice XP requires two humans in the channel and skips the AFK channel, so nobody levels by idling alone.

Multipliers let you reward the behaviour you want: more XP in your events channel, a bonus for server boosters, or a role that earns double during a tournament. Exclusions and multipliers follow threads to their parent channel and category.

  • Level-up messages with {user}, {level}, {rank}, {reward} and more, as text or an embed.
  • Separate milestone messages every N levels.
  • Leaderboards by XP, voice time, messages, streak or season, with a “Find me” button.
  • Optional public web leaderboard for your server, no login needed.

Works with the rest of BotGG

Turn on Bank and members also earn coins for every level and a bonus at milestones, which they can spend in your shop. Applications can require a minimum level before someone applies for staff.

Custom rank-card styles, colors and background images and seasons are free on every plan; the Pro plan allows more role rewards and XP events.

Slash commands

Generated from the bot’s real command definitions. Full list on the commands page.

/achievementsmember?Achievements unlocked and still to earn
/leaderboardtype?page?Server leaderboard: XP, voice, messages, streaks or the current season
/levelsManage Levels (admins)8 subcommands
  • /levels givememberamountunit?Give XP or levels to a member
  • /levels takememberamountunit?Take XP or levels from a member
  • /levels setmemberamountunit?Set a member's XP or level
  • /levels resetmember?all?Reset a member or the whole server (asks to confirm)
  • /levels boostmultiplierhoursreason?sources?Start an XP boost event now
  • /levels syncmember?Re-apply level reward roles
  • /levels event listList current and upcoming XP events
  • /levels event endidEnd (or cancel) an XP event
/rankmember?private?color?leaderboard?Show your rank card (or another member's)

Commands

Free vs Pro

Every feature works on the Free plan. Pro raises the limits and unlocks extras.

LimitFreePro
Level role rewards5100
XP events125

See pricing

Frequently asked questions

How do I add a leveling system to my Discord server?

Invite BotGG, enable Levels in the console and choose your XP sources and rewards. Members start earning immediately. The Discord leveling system guide explains curves, multipliers and rewards step by step.

Does voice chat give XP?

Yes. Members earn XP per full minute in voice when at least two non-bot members are in the channel. The AFK channel doesn’t count, and by default neither do muted or deafened members.

Can I give roles at certain levels?

Yes. Add a role reward for any level. Choose whether rewards stack or only the highest is kept, and whether roles are removed if a member drops below the level. /levels sync repairs roles.

Can I run double XP events?

Yes. Schedule XP boosts in the console or start one with /levels boost — any multiplier up to ×5, for messages, voice or both. Start and end are announced automatically.

Can members see the leaderboard outside Discord?

If you enable the public leaderboard, BotGG hosts a web page with your top 100 members, avatars and levels — no login required.

Ready to level up your server?

Add BotGG for free, then switch features on in the web console.