UNPKG

discord-xp

Version:

A lightweight and easy to use economy framework for discord bots, uses MongoDB.

45 lines (40 loc) 1.84 kB
// Type definitions for discord-xp v1.1.8 // Project: https://github.com/MrAugu/discord-xp // Definitions by: Nico Finkernagel <https://github.com/gruselhaus/> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import { Client } from "discord.js"; type User = { userID: string; guildID: string; xp: number; level: number; lastUpdated: Date; cleanXp: number; cleanNextLevelXp: number; }; type LeaderboardUser = { guildID: string; userID: string; xp: number; level: number; position: number; username: String | null; discriminator: String | null; }; declare module "discord-xp" { export default class DiscordXp { static async setURL(dbURL: string): Promise<typeof import("mongoose")>; static async createUser(userId: string, guildId: string): Promise<User>; static async deleteUser(userId: string, guildId: string): Promise<User>; static async appendXp(userId: string, guildId: string, xp: number): Promise<boolean>; static async appendLevel(userId: string, guildId: string, levels: number): Promise<User>; static async setXp(userId: string, guildId: string, xp: number): Promise<User>; static async setLevel(userId: string, guildId: string, level: number): Promise<User>; static async fetch(userId: string, guildId: string, fetchPosition = false): Promise<User>; static async subtractXp(userId: string, guildId: string, xp: number): Promise<User>; static async subtractLevel(userId: string, guildId: string, level: number): Promise<User>; static async fetchLeaderboard(guildId: String, limit: number): Promise<User[] | []>; static async computeLeaderboard(client: Client, leaderboard: User[], fetchUsers = false): Promise<LeaderboardUser[] | []>; static xpFor(targetLevel: number): number; } }