@elara-services/leveling
Version:
A package for XP/Leveling on Discord.
77 lines (76 loc) • 2.19 kB
TypeScript
import type { Client, Guild, GuildMember, User, VoiceState } from "discord.js";
import { AmariLevel, CachedOptions, ColorType, MEEShitLevel, Users } from "../interfaces";
export declare function random(min: number, max: number): number;
/**
* @private
*/
export declare function getClientIntents(client: Client): number;
/**
* @private
*/
export declare function incUserStat(user: CachedOptions<Users>, type: string, count?: number, remove?: boolean): {
name: string;
count: number;
}[];
/**
* @private
*/
export declare function getVoiceMultiplier(state: VoiceState): number;
/**
* @private
*/
export declare function parser(obj: Record<string, unknown>, options: Record<string, string>, opt: {
guild: Guild;
member: GuildMember;
user: User;
}): Promise<object>;
export declare function xpFor(level: number): number;
/**
* @private
*/
export declare function getUserAvatar(user: User | null): string;
/**
* @private
*/
export declare function save(db: {
save: () => Promise<unknown>;
}): Promise<unknown>;
export declare function tog(bool: boolean): boolean;
/**
* @private
*/
export declare function getGuildIcon(guild: Guild | null): string | null;
export declare const colors: {
readonly types: readonly ["canvacord.username", "canvacord.progress.thumb", "arcane.progress.first", "arcane.progress.second", "arcane.username", "arcane.background.first", "arcane.background.second"];
readonly hex: {
readonly white: "#fafaff";
readonly blue: "#4287f5";
};
readonly get: (db: CachedOptions<Users>, type: ColorType, includeDef?: boolean) => string | undefined;
readonly valid: (type: ColorType | string) => boolean;
};
/**
* @private
*/
export declare function isThisWeek(date: Date): boolean;
/**
* @private
*/
export declare function fetchAllUsers(guildId: string, type?: "mee6" | "amari"): Promise<{
id: string;
username: string;
messages: number;
xp: number;
level: number;
raw: AmariLevel | MEEShitLevel;
}[]>;
/**
* @private
*/
export declare function getData(db: CachedOptions<Users>): {
xp: {
current: number;
required: number;
};
level: number;
};