UNPKG

lavaclient

Version:

A simple, easy-to-use, and flexible lavalink client for node.js

56 lines 2.82 kB
import type { Node } from "./node.js"; import * as Protocol from "lavalink-protocol"; import type * as API from "lavalink-api-client"; import type { Cluster } from "./cluster/client.js"; import { ClusterNode } from "./cluster/node.js"; import { PlayerVoice } from "./playerVoice.js"; import { TypedEmitter } from "tiny-typed-emitter"; export declare class Player<$Node extends Node = Node> extends TypedEmitter<PlayerEvents> { readonly id: string; readonly voice: PlayerVoice; api: API.PlayerAPI; node: $Node; playing: boolean; playingTimestamp?: number; track: Protocol.Track | null; filters: Protocol.Filters; position: number; volume: number; paused: boolean; lastUpdate?: number; constructor(node: $Node, id: string); get cluster(): $Node extends ClusterNode ? Cluster : Cluster | null; get adjustedPosition(): number; play<T>(track: { encoded: string; userData: T; userDataSchema: Protocol.AnySchema<T>; }, options?: Omit<Protocol.RESTPatchAPIPlayerJSONBody, "track" | "voice">): Promise<this>; play(track: string | { encoded: string; userData: Record<string, unknown>; }, options?: Omit<Protocol.RESTPatchAPIPlayerJSONBody, "track" | "voice">): Promise<this>; stop(other?: Omit<Protocol.RESTPatchAPIPlayerJSONBody, "track" | "voice">): Promise<this>; pause(paused?: boolean, other?: Omit<Protocol.RESTPatchAPIPlayerJSONBody, "paused" | "voice">): Promise<this>; resume(other?: Omit<Protocol.RESTPatchAPIPlayerJSONBody, "paused" | "voice">): Promise<this>; seek(position: number, other?: Omit<Protocol.RESTPatchAPIPlayerJSONBody, "position" | "voice">): Promise<this>; setVolume(volume: number, other?: Omit<Protocol.RESTPatchAPIPlayerJSONBody, "volume" | "voice">): Promise<this>; setFilters(filters: Protocol.Filters): Promise<this>; setFilters<K extends keyof Protocol.Filters>(filter: K, value: Protocol.Filters[K]): Promise<this>; setFilters(filter: string, value: unknown, plugin: true): Promise<this>; fetch(): Promise<boolean>; update(body: Protocol.RESTPatchAPIPlayerJSONBody, noReplace?: boolean): Promise<this>; patch(data: Protocol.Player): this; patchWithState(data: Protocol.PlayerState): this; transfer(to: $Node): Promise<void>; handleEvent(event: Protocol.Event): void; } export interface PlayerEvents { disconnected: (code: number, reason: string, byRemote: boolean) => void; updated: () => void; trackStart: (track: Protocol.Track) => void; trackEnd: (track: Protocol.Track, reason: Protocol.TrackEndReason) => void; trackException: (track: Protocol.Track, exception: Protocol.Exception) => void; trackStuck: (track: Protocol.Track, thresholdMs: number) => void; } //# sourceMappingURL=player.d.ts.map