lavaclient
Version:
A simple, easy-to-use, and flexible lavalink client for node.js
33 lines • 1.62 kB
TypeScript
import type { Node } from "./node";
import type { Player } from "./player.js";
import type { VoiceServerUpdate, VoiceStateUpdate } from "./playerVoice";
import { Identifiable } from "./tools.js";
export interface FetchOptions {
cache?: boolean;
force?: Boolean;
}
export interface PlayerManager<$Node extends Node = Node> {
get cache(): Map<string, Player<$Node>>;
has(guild: Identifiable): boolean;
resolve(guild: Identifiable): Player<$Node> | undefined;
fetch(cache?: boolean): Promise<Player<$Node>[]>;
fetch(guild: Identifiable, options?: FetchOptions): Promise<Player<$Node> | undefined>;
create(guild: Identifiable): Player<$Node>;
destroy(guild: Identifiable, force?: boolean): Promise<boolean>;
destroy(): Promise<number>;
handleVoiceUpdate(update: VoiceStateUpdate | VoiceServerUpdate): Promise<boolean>;
}
export declare class NodePlayerManager<$Node extends Node = Node> implements PlayerManager<$Node> {
readonly node: $Node;
readonly cache: Map<string, Player<$Node>>;
constructor(node: $Node);
has(guild: Identifiable): boolean;
resolve(guild: Identifiable): Player<$Node> | undefined;
create(guild: Identifiable): Player<$Node>;
fetch(cache?: boolean | undefined): Promise<Player<$Node>[]>;
fetch(guild: Identifiable, options?: FetchOptions | undefined): Promise<Player<$Node> | undefined>;
destroy(guild: Identifiable, force?: boolean | undefined): Promise<boolean>;
destroy(): Promise<number>;
handleVoiceUpdate(update: VoiceStateUpdate | VoiceServerUpdate): Promise<boolean>;
}
//# sourceMappingURL=players.d.ts.map