Interface ILevelConfig

interface ILevelConfig {
    customFormula?: string;
    enabled?: boolean;
    formula?: XPFormula;
    ignore?: IIgnoreConfig;
    maxLevel?: number;
    messageRewards?: IMessageReward[];
    multipliers?: IMultiplier[];
    notification?: INotificationConfig;
    noXpRoles?: string[];
    roleRewards?: IRoleReward[];
    stackRoles?: boolean;
    xpBase?: number;
    xpCooldown?: number;
    xpExponent?: number;
    xpMax?: number;
    xpMin?: number;
    xpMultiplier?: number;
}

Properties

customFormula?: string

A custom JS expression string evaluated when formula = "custom". Available variables: level, base, exponent Example: "base * level * (level + 1) / 2"

enabled?: boolean

Whether the leveling system is enabled for this guild. Default: true

formula?: XPFormula

XP formula to use for computing required XP per level. Default: "quadratic"

ignore?: IIgnoreConfig
maxLevel?: number

Maximum level a member can reach. 0 = no cap. Default: 0

messageRewards?: IMessageReward[]

Message/custom rewards that fire the levelReward event

multipliers?: IMultiplier[]

Role/channel-specific XP multipliers. All matching multipliers are stacked (multiplied together).

notification?: INotificationConfig
noXpRoles?: string[]

Roles that grant zero XP but are not the same as ignore. Members with these roles can still appear on the leaderboard.

roleRewards?: IRoleReward[]

Role rewards granted at specific levels

stackRoles?: boolean

If true, all earned role rewards are kept as the member levels up. If false, only the highest reward role is kept. Default: true

xpBase?: number

Base XP value used in the formula. linear: xpRequired = base * level quadratic: xpRequired = base * level^2 exponential: xpRequired = base * exponent^level Default: 100

xpCooldown?: number

Cooldown between XP gains in milliseconds. Default: 60000 (60 seconds)

xpExponent?: number

Exponent used only for the "exponential" formula. xpRequired = xpBase * xpExponent^level Default: 1.5

xpMax?: number

Maximum XP awarded per message. Default: 25

xpMin?: number

Minimum XP awarded per message. Default: 15

xpMultiplier?: number

Global XP multiplier applied on top of any role/channel multipliers. Default: 1