Variable: xp
const xp: object = XP;
Type declaration
add()
add: (guildId, userId, amount, options?) => Promise<XPChangeResult> = addXPCore;
Add XP to a user (emits events, triggers role reconciliation)
Adds XP to a user, computes level changes, and emits events. Events are emitted after persistence for consistency. Role reconciliation happens automatically via event listeners.
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
amount | number | Amount of XP to add (must be positive) |
options? | AddXPOptions | Optional settings like reason |
Returns
Promise<XPChangeResult>
Result object with old/new XP, levels, and leveledUp flag
addXP()
addXP: (guildId, userId, amount, options?) => Promise<XPChangeResult> = addXPCore;
Add XP to a user - alias for add()
Adds XP to a user, computes level changes, and emits events. Events are emitted after persistence for consistency. Role reconciliation happens automatically via event listeners.
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
amount | number | Amount of XP to add (must be positive) |
options? | AddXPOptions | Optional settings like reason |
Returns
Promise<XPChangeResult>
Result object with old/new XP, levels, and leveledUp flag
get()
get: (guildId, userId) => Promise<number> = getXPCore;
Get user's total XP (returns 0 if not found)
Returns user's total XP (0 if not found).
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
Returns
Promise<number>
Total XP
getLevel()
getLevel: (guildId, userId) => Promise<number> = getLevelCore;
Get user's level (returns 0 if not found)
Returns user's level (0 if not found).
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
Returns
Promise<number>
User level
getUser()
getUser: (guildId, userId) => Promise<UserXP | null> = getUserDataCore;
Get full user XP record (returns null if not found)
Returns full user XP record.
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
Returns
Promise<UserXP | null>
User XP record or null if not found
getXP()
getXP: (guildId, userId) => Promise<number> = getXPCore;
Get user's total XP - alias for get()
Returns user's total XP (0 if not found).
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
Returns
Promise<number>
Total XP
recalc()
recalc: (guildId, userId) => Promise<RecalcResult> = recalcLevelCore;
Recalculate level from total XP and reconcile roles
Recalculates level from total XP and reconciles roles. Useful for fixing inconsistencies after config changes or manual database edits.
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
Returns
Promise<RecalcResult>
Result object with old/new levels and reconciliation status
remove()
remove: (guildId, userId, amount, options?) => Promise<XPRemoveResult> = removeXPCore;
Remove XP from a user (emits events, triggers role reconciliation)
Removes XP from a user (calls addXP with negative amount). Ensures XP doesn't go below 0.
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
amount | number | Amount of XP to remove (must be positive) |
options? | AddXPOptions | Optional settings like reason |
Returns
Promise<XPRemoveResult>
Result object with old/new XP, levels, and leveledDown flag
removeXP()
removeXP: (guildId, userId, amount, options?) => Promise<XPRemoveResult> = removeXPCore;
Remove XP from a user - alias for remove()
Removes XP from a user (calls addXP with negative amount). Ensures XP doesn't go below 0.
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
amount | number | Amount of XP to remove (must be positive) |
options? | AddXPOptions | Optional settings like reason |
Returns
Promise<XPRemoveResult>
Result object with old/new XP, levels, and leveledDown flag
set()
set: (guildId, userId, totalXp, options?) => Promise<XPSetResult> = setXPCore;
Set absolute XP value for a user (emits events, triggers role reconciliation)
Sets absolute XP value for a user.
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
totalXp | number | New total XP (must be non-negative) |
options? | AddXPOptions | Optional settings like reason |
Returns
Promise<XPSetResult>
Result object with old/new XP and levels
setXP()
setXP: (guildId, userId, totalXp, options?) => Promise<XPSetResult> = setXPCore;
Set absolute XP value for a user - alias for set()
Sets absolute XP value for a user.
Parameters
| Parameter | Type | Description |
|---|---|---|
guildId | string | Guild snowflake ID |
userId | string | User snowflake ID |
totalXp | number | New total XP (must be non-negative) |
options? | AddXPOptions | Optional settings like reason |
Returns
Promise<XPSetResult>
Result object with old/new XP and levels