PaulCLI logoPaulCLI

Settings reference

Level settings, XP curve, and reward fields.

SettingTypeDefaultMeaning
LevelConfig.enabledbooleanfalse when no row existsMaster switch. The bot grants no XP unless a config row exists and this is true.
xpMultipliernumber1.0Scales text and voice XP. API range is 0.1–5; each grant is rounded with minimum 1.
alertModeCHANNEL | DM | DISABLEDCHANNELWhere level-up messages go. DISABLED sends no alert.
alertChannelIdsnowflake or nullnullUsed for CHANNEL alerts. If missing, the bot falls back to the triggering text channel when available, but the dashboard API requires a channel for CHANNEL saves.
cardColorhex color#6366f1Seeds card layout accents. Must be #rrggbb.
rankCardLayoutJSON string or nullnullValidated layout for /level rank.
leaderboardLayoutJSON string or nullnullValidated layout for /level leaderboard.
UserLevels.xpinteger0Cumulative total XP.
UserLevels.levelinteger0Stored derived level, guarded against stale concurrent writes.
lastTextXpAtdate or nullnullText XP cooldown marker.
voiceXpTimedate or nullnullLast persisted voice XP marker. Runtime throttling also uses an in-memory map.
LevelReward.levelRequiredintegerrequiredReward threshold from 1 to 1000; unique per guild.
LevelReward.roleIdsnowflakerequiredRole granted when a member reaches at least that level.
Level reachedCumulative XP needed
1100
2255
3475
4770
51,150
61,625
72,205
82,900
93,720
104,675

Cumulative rewards

On every level-up, the bot fetches all rewards with levelRequired <= newLevel and tries to add any missing roles. Members can receive older rewards later if a reward is added after they passed that level and they level up again.