Skip to main content

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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser snowflake ID
amountnumberAmount of XP to add (must be positive)
options?AddXPOptionsOptional 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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser snowflake ID
amountnumberAmount of XP to add (must be positive)
options?AddXPOptionsOptional 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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser 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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser 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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser 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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser 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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser 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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser snowflake ID
amountnumberAmount of XP to remove (must be positive)
options?AddXPOptionsOptional 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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser snowflake ID
amountnumberAmount of XP to remove (must be positive)
options?AddXPOptionsOptional 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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser snowflake ID
totalXpnumberNew total XP (must be non-negative)
options?AddXPOptionsOptional 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

ParameterTypeDescription
guildIdstringGuild snowflake ID
userIdstringUser snowflake ID
totalXpnumberNew total XP (must be non-negative)
options?AddXPOptionsOptional settings like reason

Returns

Promise<XPSetResult>

Result object with old/new XP and levels