How XP is earned

In FlaviBot's level system, XP is the raw number behind every level. There are exactly two sources: messages and time in voice. Nothing else grants XP on its own, apart from a staff member using /xp.

Message XP

Every message a member sends rolls a random amount of XP: 0 to 40 at the default XP rate, rounded to a whole number. The roll really can come out at 0, so a single message is never a guaranteed gain.

Then a 50 second cooldown starts for that member on that server. Messages sent during those 50 seconds still count towards the message counter shown on the rank card, but they earn no XP. The cooldown is per member and per server, not per channel, so spreading messages across channels does not beat it.

Bots never earn XP. Neither do webhooks, and neither do direct messages.

Voice XP

Voice XP is granted in ticks of 2 minutes. Each whole 2 minutes spent in a voice channel rolls the same 0 to 40 XP, and the rolls are added together. A continuous 10 minute call pays 5 rolls.

The bot records voice time in segments rather than in one block, and starts a new segment whenever the member switches channel or toggles mute, deafen, stream or video. Each of those transitions restarts the 2 minute clock: a member who toggles their microphone every 90 seconds never completes a tick, and earns nothing however long they stay. Everything between two transitions is counted continuously, so the internal 5 minute bookkeeping costs nobody anything.

Time spent deafened is skipped entirely. A member who cannot hear the channel is not participating, so the bot does not pay for it. Being muted, on the other hand, still earns XP — listening counts. A server mute or deafen applied by a moderator is not taken into account at all.

Voice XP has its own switch on the Levels page (Enable Voice XP), so you can turn it off without touching message XP.

Voice XP depends on Server Stats

Voice time is recorded once per server, by one bot. Enable Voice XP on the Levels page is enough on its own — you no longer have to turn on the Server Stats voice module as well. What still matters is which bot: the Levels page and the Server Stats page each name one, and voice time is only recorded when the bot you are configuring is the one named. If they disagree, or the named bot has left the server, nothing is recorded and no voice XP is granted. The dashboard warns you in both cases.

A member who has opted out of statistics collection (/privacy) earns no XP at all — message or voice. That opt-out is also the marker a data erasure leaves behind, so anything that kept writing rows for those members would undo the erasure minutes later.

When voice XP is not granted

Time in voice turns into XP only when every one of these is true. They are listed in the order the bot checks them, so work down the list: the first one that fails is your answer.

What to checkWhy it matters
Voice tracking is on in Server Stats, or voice XP is on under LevelsEither one is enough to record voice time. Turning voice XP on no longer requires enabling statistics.
The bot recording voice is in your server and onlineVoice time is recorded by exactly one bot per server. If it has left or is offline, nothing is recorded for anyone.
The member has not opted out of statistics/privacy stops all XP for that member, message and voice alike.
The member is not a botBots never earn XP, in voice or anywhere else.
The member is not deafenedDeafened time is skipped entirely. Muted time still counts.
The Levels module is enabledThe whole feature, message XP included.
Enable Voice XP is onThe voice-only switch on the Levels page.
The Levels page points at the same bot as Server StatsThese are two separate settings on two separate pages. When they name different bots, voice XP stops while both pages still look correct.
The voice channel passes Channel RestrictionThe allow-list and deny-list apply to voice channels too, matched on the channel the member is sitting in. A whitelist made only of text channels earns nobody any voice XP — add your voice channels, or the category holding them.
The member stayed still long enoughA tick is 2 uninterrupted minutes. Switching channel or toggling mute, deafen, stream or camera restarts that clock.

If all of those hold and a member still shows no gain, the rolls themselves can land on 0 — the same 0 to 40 range as messages. Over an hour that evens out.

How fast that actually is

At the default 1x rate a member averages around 20 XP per message that clears the cooldown, and around 600 XP per hour of uninterrupted voice time (30 ticks of roughly 20 XP). Levels get more expensive as they go up, which is covered in Levels and role rewards.

XP rate

The XP Rate slider multiplies every roll, from 0.25x to 3x in steps of 0.25. It applies to message XP and voice XP alike.

This is a premium setting: the card is locked on the free tier, where your server stays at 1x. Silver, Gold and Platinum can change it.

XP multipliers per role

XP Multipliers per Role gives a boosted rate to specific roles: boosters, veterans, staff, whatever you want to reward.

When a member has several matching roles, the highest multiplier wins. They are never added together. A member with no matching role is on 1x.

The multiplier stacks on top of the server XP rate, and the resulting total is capped at 3x. That cap is deliberate: it is the top of the XP rate slider, so no combination of settings and purchases can push a member past what you could already configure directly. Entering a value above 3 is accepted by the form but behaves the same as 3.

How many role multipliers you can add depends on your tier:

TierRole multipliers
Free0
Silver3
Gold10
Platinum25

Members can also buy a temporary XP boost from the economy shop. It multiplies with the role multiplier and lands under the same 3x ceiling. See The shop, items and trading.

Restricting where XP is earned

Channel Restriction decides where XP can be earned at all. It applies to message XP and voice XP together.

ModeEffect
No restrictionEvery channel grants XP. This is the default.
WhitelistOnly the selected channels grant XP.
BlacklistEvery channel except the selected ones grants XP.

The picker accepts categories, text channels, voice channels, stage channels, threads, forums and media channels. Listing a container covers what is inside it, one level deep: a category covers each of its channels, and a text or forum channel covers its threads and posts. A category does not reach the threads inside its text channels — list those text channels if you want their threads covered.

Voice XP is matched on the voice channel the member is sitting in, using this same list. A whitelist made only of text channels therefore earns nobody any XP for time spent in voice — add your voice channels, or the category that holds them. The dashboard warns you when that is the case.

A message in an excluded channel is skipped completely: no XP, and no increment to the message counter on the rank card either. The same goes for voice: an excluded voice channel adds no XP and no voice minutes.

Text XP and voice XP: three ways to combine them

Leveling Mode, on the Levels page, decides how the two sources relate.

ModeWhat happens
SeparateText and voice are two independent tracks, each with its own level and its own level-up announcement. This is the default.
CombinedVoice XP is added to the text pool. One level, one announcement.
SumThe two tracks stay separate, but the level announced (and shown on the rank card and the leaderboard) is text level plus voice level.

Switching to Combined does not migrate anything. XP already banked on the voice track stays there and does not count towards the unified level; only future voice XP feeds it. Switching back to Separate restores the old picture.

The mode also changes who gets reward roles and which announcement is used, so read Levels and role rewards and Level-up announcements before you change it on a busy server.

Created on · Last updated on