Discord Bot Leveling System
Hey everybody ๐! Here is a quick leveling example template
you can add to your Discord bot. This system relies on rewarding EXP
to your members as they post messages. The more messages they post,
the more levels they gain!

Features
This leveling system comes with a few basic building blocks:
- A fully customizable leveling system
- Inspect and status commands for seeing yours and other's EXP
- A leaderboard for showing off top 10 players
Customizing the level curve.
By default, levels will be awarded every 100 EXP gained,
and messages are set to count for 50 EXP.
The easiest way to tweak this would be to change the level curve!
The leveling system has 3 built-in curves: linear, exponential, and sigmoid.
- Linear: every level takes the same amount of EXP to progress
- Exponential: every level gets progressively harder to earn
- Sigmoid: levels start of easy to get, then increase in difficulty, then taper off past a certain point
Here is a graph of what each of these look like from level 1-100:

To customize this further you could change how much EXP is awarded per message,
or use one of two config variables: levelBase
and levelMultiplier
.
- levelBase sets the base amount each level requires. This is 100 by default.
- levelMultiplier sets how steep the climb through the levels are. The higher the number, the harder each level will be to achieve. This is set to 1.5 by default, but only matters for exponential and sigmoid curves.
In general the defaults work fine, but if you would like to tweak these, you can do so in config.json
.
That's it!
This is just a simple Discord bot leveling system. It is meant to be a starting point!
Feel free to tweak and change how it works, what gives people exp and more!
If you want to learn more, check out our beginner guide on how to make a Discord bot.
Happy hacking!