Discord leveling bots
A leveling bot gives members XP for taking part, turns it into levels and hands out roles as they climb.

How a leveling bot works
The core rule of any leveling bot is the cooldown. If every message earned XP, the fastest way to level would be to spam one-word messages, and your chat would fill with exactly that. The common setup gives a random amount of XP for a message, then ignores that member for about a minute. Ten messages in one minute count once, while steady conversation over an evening counts many times.
Levels usually follow a curve, so each one needs more XP than the last. Role rewards are what people chase: level 5 might unlock posting images, level 20 a colored name and a private channel. Decide whether rewards stack or replace each other, and keep the bot's role above every reward role so it can hand them out. Voice XP, for time spent in voice channels, is a common add-on.
Counting messages does not need the Message Content intent. Discord still sends the bot a message event with the author and channel, only with the text left empty, and that is all XP needs. Leave out bot channels and #spam so activity there does not count. On Discord Bot Creator you set the numbers in plain words and the bot is built and hosted for you.
What it usually does
- Gives XP for messages with a cooldown so spam does not pay
- Announces level-ups in a channel you choose
- Shows /rank and a /leaderboard for the server
- Gives reward roles at the levels you pick
- Ignores channels like #bot-commands or #spam
- Gives XP for time spent in voice channels, if you want it
Permissions and intents it needs
Give a bot only what it uses. These are the permissions a typical leveling bot asks for in its invite link, and why.
| Permission | Why |
|---|---|
| View Channels | Sees the channels where members earn XP. |
| Send Messages | Posts level-up announcements and answers /rank. |
| Embed Links | Shows rank and leaderboard results as embeds. |
| Manage Roles | Gives reward roles. Every reward role must sit below the bot's own. |
Privileged intents
None needed for a typical leveling bot.
None needed for message-count XP: the message event arrives without its text, which is fine for counting. Turn on Message Content only if XP should depend on what people write, like a minimum message length.
Leveling bots built here
Real bots made by describing them, running in Discord servers now.
No leveling bots are listed yet. Bots appear here once they have been online for three days and joined a server. Yours could be the first.
Describe yours like this
Name the channels, roles and commands you want. The more specific the description, the less you need to change afterwards.
Make a leveling bot. Give 15 to 25 XP per message with a 60-second cooldown, no XP in #bot-spam, and announce level-ups in #level-ups. Give @Regular at level 10 and @Veteran at level 30, and remove @Regular when someone gets @Veteran.
Questions about leveling bots
How does XP work in a Discord leveling bot?
The bot listens for messages and adds a few XP points to the author, then ignores that member for a cooldown, often 60 seconds. Total XP maps to a level through a curve where each level needs more than the last. Everything is stored per server, so the same member has a separate level in each server the bot is in.
How do I stop people from spamming for XP?
The cooldown does most of the work: only one message per minute earns anything, so spamming gives no advantage over talking normally. You can also exclude channels, ignore messages below a minimum length (which needs the Message Content intent), and reset XP for members caught farming with alt accounts or scripts.
Can a leveling bot give roles automatically?
Yes. You set which role goes with which level, and the bot assigns it at the level-up. It needs Manage Roles, and its own role has to sit above every reward role in Server Settings → Roles. Decide whether old rewards stay when a new one arrives or get removed, so the member list stays tidy.
Can members earn XP in voice channels?
Yes. The bot notes when a member joins and leaves a voice channel and gives XP for the minutes in between. Good setups skip members who are alone, muted or deafened, so idling in an empty channel earns nothing. Voice tracking uses the standard voice state intent, not a privileged one.
Other kinds of Discord bots

Describe the leveling bot your server needs
Write it in a sentence or two. You see the plan before anything is built, and your first bot runs free for 7 days.