UNPKG

aqualink

Version:

An Lavalink wrapper, focused in speed, performance, and features, Based in Riffy!

80 lines (72 loc) 3.21 kB
declare module "AquaLink" { export class Aqua { /** * @param {Object} client - The client instance. * @param {Array<Object>} nodes - An array of node configurations. * @param {Object} options - Configuration options for Aqua. * @param {Function} options.send - Function to send data. * @param {string} [options.defaultSearchPlatform="ytsearch"] - Default search platform. * @param {string} [options.restVersion="v4"] - Version of the REST API. * @param {Array<Object>} [options.plugins=[]] - Plugins to load. * @param {boolean} [options.autoResume=false] - Automatically resume tracks on reconnect. * @param {boolean} [options.infiniteReconnects=false] - Reconnect infinitely. */ constructor(client: any, nodes: Array<any>, options?: { [key: string]: any }); init(clientId: string): this; createNode(options: { [key: string]: any }): Node; createPlayer(node: Node, options: { [key: string]: any }): Player; destroyPlayer(guildId: string): Promise<void>; resolve(options: { query: string, source?: string, requester?: any, nodes?: any }): Promise<any>; updateVoiceState(data: { d: any, t: string }): void; } export class Connection { constructor(player: Player); setServerUpdate(data: { endpoint: string, token: string }): void; setStateUpdate(data: { channel_id: string, session_id: string, self_deaf: boolean, self_mute: boolean }): void; } export class Filters { constructor(player: Player, options?: { [key: string]: any }); setEqualizer(bands: Array<any>): Promise<void>; setKaraoke(enabled: boolean, options?: { [key: string]: any }): Promise<void>; clearFilters(): Promise<void>; } export class Node { constructor(aqua: Aqua, connOptions: { [key: string]: any }, options?: { [key: string]: any }); connect(): Promise<void>; getStats(): Promise<any>; destroy(clean?: boolean): void; } export class Player { constructor(aqua: Aqua, nodes: any, options?: { [key: string]: any }); play(): Promise<void>; pause(paused: boolean): this; skip(): Promise<void>; destroy(): void; } export class Plugin { constructor(name: string); load(aqua: Aqua): void; unload(aqua: Aqua): void; } export class Queue extends Array { add(track: any): this; remove(track: any): void; clear(): void; shuffle(): void; peek(): any; toArray(): Array<any>; at(index: number): any; dequeue(): any; isEmpty(): boolean; } export class Rest { constructor(aqua: Aqua, options: { [key: string]: any }); makeRequest(method: string, endpoint: string, body?: any): Promise<any>; getPlayers(): Promise<any>; destroyPlayer(guildId: string): Promise<void>; } export class Track { constructor(data: { [key: string]: any }, requester: Player, nodes: Node); resolve(aqua: Aqua): Promise<Track | null>; } }