lavaclient
Version:
A simple, easy-to-use, and flexible lavalink client for node.js
29 lines • 1.57 kB
TypeScript
import type { Player } from "../player.js";
import type { FetchOptions, PlayerManager } from "../players.js";
import type { VoiceServerUpdate, VoiceStateUpdate } from "../playerVoice.js";
import type { Cluster } from "./client.js";
import type { ClusterNode } from "./node.js";
import { Identifiable } from "../tools.js";
export type ClusterPlayer = Player<ClusterNode>;
export declare class ClusterPlayerManager implements PlayerManager {
readonly cluster: Cluster;
readonly options: ClusterPlayerManagerOptions;
private cached?;
constructor(cluster: Cluster, options: ClusterPlayerManagerOptions);
get cache(): Map<string, ClusterPlayer>;
has(guild: Identifiable): boolean;
resolve(guild: Identifiable): ClusterPlayer | undefined;
fetch(cache?: boolean | undefined): Promise<ClusterPlayer[]>;
fetch(guild: Identifiable, options?: FetchOptions | undefined): Promise<ClusterPlayer | undefined>;
create(guild: Identifiable): Player;
destroy(guild: Identifiable, force?: boolean | undefined): Promise<boolean>;
destroy(): Promise<number>;
handleVoiceUpdate(update: VoiceStateUpdate | VoiceServerUpdate): Promise<boolean>;
private generateCache;
}
export interface ClusterPlayerManagerOptions {
has?: (pm: ClusterPlayerManager, guild: Identifiable) => boolean;
find?: (pm: ClusterPlayerManager, guild: Identifiable) => ClusterPlayer | undefined;
fetch?: (pm: ClusterPlayerManager, guild: Identifiable, options: FetchOptions) => Promise<ClusterPlayer | undefined>;
}
//# sourceMappingURL=players.d.ts.map