Guide · Levels
How to add a leveling system to your Discord server
A practical walkthrough for XP and levels on Discord — XP sources, anti-spam, level curves, reward roles, rank cards, XP events and seasons, configured in the BotGG console.
LevelsRole menusBank
On this page
A leveling system gives members a reason to come back: messages, voice time and helpful answers earn XP, and levels unlock roles. This guide shows how to add a leveling system to your Discord server with BotGG’s Levels module — from the first toggle to a balanced curve that stays fair as you grow.
What you need
- Manage Server permission on the server (that is what the console checks when you log in).
- BotGG invited to the server (https://discord.com/oauth2/authorize?client_id=1553367772451446804&scope=bot%20applications.commands&permissions=282969912110295).
- A few roles you want to hand out as rewards — for example Regular, Veteran and Legend.
- Optional: a channel such as
#level-upsif you don’t want announcements in the middle of chat.
Everything below is configured in the web console at https://console.botgg.app. Members use slash commands in Discord; the full list is on the commands page.
Step 1: Enable Levels and pick XP sources
Open the console, choose your server and enable Levels. Go to the XP sources tab. Each source can be switched on or off and tuned separately:
- Messages — a random amount between a minimum and maximum (15–25 XP by default) per message, at most once per cooldown (60 seconds by default). Messages shorter than the minimum length and exact repeats of your previous message earn nothing.
- Voice — XP per full minute in a voice channel (4 by default). It only counts when at least two humans are in the channel, never in the AFK channel, and — by default — not while self-muted or deafened.
- Reactions (quality bonus) — when other members react to your message you get a small bonus (2 XP per reaction, capped per message). Self-reactions and bots don’t count.
- Daily streak — the first XP-earning activity of the day gives a streak bonus that grows the longer the streak runs. You can allow up to two grace days so one missed day doesn’t wipe a long streak.
- Thread starter — optional XP for opening a thread.
In No-XP zones exclude bot-command channels, spam channels or whole roles (for example muted members). In Multipliers you can give a role or channel a multiplier and adjust the Server Booster bonus (×1.25 by default).
Step 2: Choose a level curve
The Level curve tab decides how much XP each level costs. The console draws the curve live and estimates how many messages and hours of chat or voice each level takes with your current settings.
| Preset | Formula (XP from level n to n+1) | Total XP for level 10 | Total XP for level 50 | Good for |
|---|---|---|---|---|
| MEE6 (default) | 5n² + 50n + 100 | 4,675 | 268,375 | Communities that migrate from other bots; familiar pacing |
| Linear | base + n × step (100 + 50n) | 3,250 | 66,250 | Small servers where high levels should stay reachable |
| Exponential | base × growthⁿ (100 × 1.15ⁿ) | 2,030 | 721,772 | Fast early levels, rare prestige levels |
| Custom | your own table for up to 100 levels | — | — | Full control, e.g. matching an in-game rank ladder |
With default message settings (about 20 XP per message, one per minute) level 10 on the MEE6 curve takes roughly 230 counted messages. The maximum level is 500 on every curve. Changing the curve later doesn’t erase anyone’s XP — levels are recalculated from total XP.
Step 3: Announcements and reward roles
Open Level-up & rewards.
- Under Level-up announcements, choose where the bot celebrates: Same channel, a Fixed channel, a Direct message or Silent.
- Edit the message or keep the default. Placeholders such as
{user},{level},{rank},{server}and{reward}are inserted with one click, and a live preview shows the result. You can add an embed and attach the member’s rank card image. - Set Milestone every (10 by default) to post a special message at levels 10, 20, 30…
- Under Reward roles, add a role per level — for example level 5, 10 and 25. Each reward can be removed again if an admin lowers the member below that level.
- Pick what happens when a member has several rewards: stack (keep all of them) or replace (keep only the highest one).
Reward roles are given back automatically when a member leaves and rejoins. The free plan includes 5 reward roles, Pro raises that to 100 — see pricing.
Step 4: Rank cards, achievements and leaderboards
In the Rank card tab choose a style (neon, glass or minimal), accent and background colors, and whether members may pick a personal accent color. You can also upload a custom background image — free on every plan. The card shows avatar, level, rank, XP bar, streak and up to six achievement badges.
The Achievements tab lists 20 built-in badges — first message, 100/1,000/10,000 messages, 1/10/100 hours in voice, 7/30/100-day streaks, reactions received, levels 10/25/50/100, night owl, early bird, XP-event participant and season top 3. You can disable any badge or rename it and change its emoji.
Members then use:
/rank— their rank card (or someone else’s withmember, privately withprivate); itscoloroption sets a personal accent color./leaderboard— top members by XP, voice time, messages, streak or season, 10 per page./achievements— unlocked badges.
The Settings tab can also turn on a public web leaderboard that anyone can open without logging in.
Step 5: XP events and seasons
The Seasons & events tab is where you plan activity spikes.
XP events multiply XP (×1.1 to ×5) for all sources, only messages or only voice during a time window. Schedule them in the console, or start one instantly in Discord with /levels boost multiplier:2 hours:3 reason:Weekend. The bot announces the start and the end. /levels event list shows running and upcoming events, /levels event end stops one early. How many events can be running or scheduled at once depends on the plan: 1 on Free, 25 on Pro.
Seasons (free on every plan) add a monthly or quarterly competition on top of lifetime levels. Lifetime XP never resets; season XP is counted separately. When a season ends, the bot posts the final leaderboard, awards the season top-3 achievement and can rotate reward roles for the top ranks.
Recommended settings
- Start with defaults for message XP and cooldown. The 60-second cooldown is what keeps spam from paying off.
- Keep voice at 2+ humans and ignore muted members, otherwise AFK farming works.
- Put the announcement in a fixed channel on busy servers; Same channel works well on small ones.
- Space reward roles: 5, 10, 20, 35, 50 feels steady on the MEE6 curve.
- Use replace mode if your reward roles have colors.
- Run an XP event for launches, tournaments or holidays instead of permanently raising XP.
Common mistakes and troubleshooting
Reward roles are not given. The bot needs Manage Roles, and its own role must sit above the reward roles in Server Settings → Roles. Fix the order, then run /levels sync to repair everyone’s roles (or /levels sync member:@name for one person).
Nobody gets voice XP. Check that the member isn’t alone, muted or in the AFK channel, and that the voice channel isn’t in a No-XP zone.
XP feels too slow or too fast. Look at the estimate table in the Level curve tab — it shows messages and hours per level. Adjust the curve rather than message XP, so your multipliers stay meaningful.
You need to correct someone’s XP. Use /levels give, /levels take or /levels set with unit set to XP or levels. /levels reset resets one member or the whole server after a confirmation button. These commands work for members with Manage Server or the admin roles set in Settings.
Announcements spam the chat. Switch to a fixed channel or DMs, or set announcements to Silent and rely on milestones.
Where to go next
Combine levels with self-assigned roles from role menus, or add a server currency with Bank — the server economy guide walks through it. For raid-focused communities, see how to organize raids and LFG.
FAQ
Can I import XP from another bot?
There is no automatic import. You can set a member’s XP or level with /levels set, which is enough for moving a handful of top members.
Does changing the level curve reset levels?
No. Members keep their total XP; their level is recalculated from it with the new curve, and reward roles can be repaired with /levels sync.
Do bots or muted members earn XP?
Bots never earn XP. Muted or deafened members don’t earn voice XP unless you turn that check off in XP sources.
Is the leveling system free?
Yes. XP sources, curves, rank cards (including custom backgrounds), seasons, achievements and leaderboards are free. Pro adds more reward roles and XP events — compare plans on the pricing page.