XP & Level System
Xponent uses a fully configurable XP engine. Here is how it works under the hood.
Message XP
Every message a member sends earns Base XP + random(0–10) bonus. The base is configurable (default: 15 XP). A per-member cooldown (default: 60 seconds) prevents spam farming. Bot messages are always ignored.
Reaction XP
When Reaction XP is enabled, adding a reaction earns XP (default: 5 XP). Has its own separate cooldown and an optional daily cap to prevent abuse.
Level Curves
Linear: XP needed = Level × 100 × multiplier. Always the same gap.
Standard (default): XP needed = Level² × 100 × multiplier.
Steep: XP needed = Level² × 200 × multiplier.
Exponential: XP needed = 1.5^Level × 50 × multiplier. Early levels are easy, later levels become very challenging.
Level-Up Events
When a member crosses a level threshold, the bot announces it in the configured channel (or the current channel). It then checks the role rewards table and automatically assigns or replaces roles based on the configured mode.
Max Level Cap
Optional. When set, members stop gaining XP once they reach this level. Useful for prestige systems or seasonal resets.
Requirements
- → MessageContent intent must be enabled in the Discord Developer Portal
- → GuildMessageReactions intent required for Reaction XP
- → GuildMembers intent required for invite tracking and member sync