aqualink
Version:
An Lavalink wrapper, focused in speed, performance, and features, Based in Riffy!
80 lines (72 loc) • 3.21 kB
TypeScript
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>;
}
}