⚠️ Breaking Changes
注意
connect() now takes a URI string. If type is omitted, runtime defaults to mongodb; pass { type: "sqlite" } explicitly for SQLite connections.
create()
- xp.create(userId, guildId)
+ xp.create(userId, guildId, username)
charts()
- xp.charts(message, options);
+ xp.charts(guildId, options);
leaderboard()
- xp.leaderboard(client, guildId, limit);
+ xp.leaderboard(guildId, limit);
rank()
Migration AId
guild and user require objects, read the docs for more info
- xp.rank(client, message, options);
+ xp.rankCard(guild, user, options);
roleSetup
- xp.roleSetup.add(client, guildId, options);
+ xp.LevelRoles.add(guildId, options);
- xp.roleSetup.fetch(client, guildId);
+ xp.LevelRoles.getGuildRoles(guildId);
- xp.roleSetup.find(client, guildId, level);
+ xp.LevelRoles.getGuildRoles(guildId).find(r => r.lvl === levelNumber);
- xp.roleSetup.remove(client, guildId, {level});
+ xp.LevelRoles.delete(guildId, { level: levelNumber });
+ // or to delete all roles for the guild:
+ xp.LevelRoles.deleteAll(guildId);
Note:
LevelRolesexposes additional methods (add,delete,deleteAll,getGuildRoles,getUserRoles,set) — see theLevelRolesdocumentation for detailed usage examples.
Deprecated aliases removed
- xp.db
+ xp.Database
- xp.migrate
+ xp.Migrate
levelUp Event
- client.on('levelUp', (message, data, role) => { ... });
+ xp.XpEvents.on({
+ levelUp: (data, newRoles) => {
+ // ...
+ },
+ });