setting it up
- on the dashboard
- in discord
open the dashboard, pick your server and go to leveling. switch it on, pick the xp rate, say where a level up is said and what it says, add role rewards and whether lower ones are kept, and pick the channels and roles that earn nothing. then save.
how xp builds up
- a message earns 15 to 25 xp, picked at random, times the server’s rate
- a member earns at most once a minute in each server. ten messages in a minute earn the same as one, so spamming does nothing
- bots, webhooks and discord’s own system messages earn nothing
- an ignored channel takes its threads with it, and an ignored category takes every channel in it. somebody with an ignored role earns nothing anywhere
the curve
going from leveln to n + 1 costs 5n² + 50n + 100 xp. it’s the same curve MEE6 uses, so a server coming from it knows the numbers.
the highest level is 500.
rewards
- drain checks the role when you add it: a role above drain’s highest role, or above yours, is refused straight away
- with
stack on(the default) members keep every reward role they reach. withstack offthey keep only the highest, and the lower ones are taken away - roles are checked every time somebody earns, so a reward you add later reaches people already above that level the next time they talk
- somebody who leaves and comes back gets their reward roles back when they join
- removing a reward doesn’t take the role back from people who already have it, and deleting a role in discord removes its reward
,level rewardon its own, or,level rewardsand,level roles, lists them the same as,level reward list
level up messages
level ups are silent until you pick where they go: the message can use{user}, {level} and {server}. it only pings if you turn ping on, and then only the member who levelled up, never @everyone or a role.
bringing levels over from another bot
your old bot already gave out level roles, so your members still have them. add those roles as rewards at the level each one stood for, then bring everybody over at once: drain looks at every member, finds the highest reward role they hold, and puts them at the start of that level. it says how many people that is and asks before changing anything.- nobody is ever lowered. somebody already past their role’s level keeps their xp
- bots are skipped, and so is anybody without a reward role
- it’s safe to run again, for example after adding a reward you forgot
,level set @coy 25 puts them at the start of level 25. they keep earning from there, and any reward roles up to that level are handed out.
every command
worth knowing
- xp shows up straight away on
,rankand the leaderboard, even though it’s saved in batches once a minute - turning leveling off keeps everybody’s xp. turning it back on carries on from there
,rankis a drawn card: your avatar, level, place and a progress bar, with your own avatar blurred behind it. if the picture can’t be drawn, drain answers in text instead- there are no xp boosts, no voice xp and no card backgrounds to buy. that’s on purpose

