A Discord leveling bot you don't have to code
Members earn 15 to 25 XP for chatting, at most once a minute. When they reach a new level the bot congratulates them, and at levels 5, 10, 25 and 50 it gives them a role. /rank shows a rank card with a progress bar, and /leaderboard the top ten.
What it does
- A member sends a message. Bots are skipped, and each member earns XP at most once a minute.
- The bot adds 15 to 25 XP to the member's row in the levels collection.
- If that takes them to a new level, it congratulates them in the channel.
- At levels 5, 10, 25 and 50 it gives them the role of that name.
It reacts to messages, a server event, so it needs a gateway bot.
Commands
/rankShows your rank card, or another member's: level, XP, progress to the next level and place.
/leaderboardLists the ten members with the most XP.
/givexpGives a member XP, or takes it away. Needs the Manage Server permission.
View rankRight-click a member, then Apps, to see their rank card.
Before you add it
- Roles named Level 5, Level 10, Level 25 and Level 50, if you want level rewards. Without them, members still level up.
- The bot's role placed above those roles, so it can give them.
How adding it works
Press Add to my server and Buildcord asks you to sign up or sign in. It then makes a new bot from this template, with every flow already drawn. Paste your Discord bot token, add the bot to your server with the invite link and deploy. Nothing is final: the template is an ordinary bot you can open and change.
What you can change
- Change how much XP a message earns, or how often.
- Make levels quicker or slower by changing the equation.
- Announce level-ups in one channel instead of where the member chatted.
- Add or rename the reward roles in the Switch step.
Questions
How are levels worked out?
A member's level is the square root of their XP divided by 100, rounded down: 100 XP is level 1, 400 is level 2 and 2,500 is level 5.
Why does it need the Paid plan?
Earning XP for chatting means the bot has to see messages as they're sent, which needs it connected to Discord all the time. That's a gateway bot, on the $8-a-month Paid plan.