UNPKG

synthra-client

Version:

A user-friendly Lavalink client designed for NodeJS.

72 lines (71 loc) 2.66 kB
import { Track } from "./Player"; import { Synthra } from "./Manager"; /** * The player's queue, the `current` property is the currently playing track, think of the rest as the up-coming tracks. */ export declare class Queue extends Array<Track> { /** * The total duration of the queue in milliseconds. * This includes the duration of the currently playing track. */ get duration(): number; /** * The total size of tracks in the queue including the current track. * This includes the current track if it is not null. * @returns The total size of tracks in the queue including the current track. */ get totalSize(): number; /** * The size of tracks in the queue. * This does not include the currently playing track. * @returns The size of tracks in the queue. */ get size(): number; /** The current track */ current: Track | null; /** The previous tracks */ previous: Track[]; /** The Manager instance. */ manager: Synthra; /** The guild ID property. */ guildId: string; /** * Constructs a new Queue. * @param guildId The guild ID. * @param manager The Manager instance. */ constructor(guildId: string, manager: Synthra); /** * Adds a track to the queue. * @param track The track or tracks to add. Can be a single `Track` or an array of `Track`s. * @param [offset=null] The position to add the track(s) at. If not provided, the track(s) will be added at the end of the queue. */ add(track: Track | Track[], offset?: number): void; /** * Removes track(s) from the queue. * @param startOrPosition If a single number is provided, it will be treated as the position of the track to remove. * If two numbers are provided, they will be used as the start and end of a range of tracks to remove. * @param end Optional, end of the range of tracks to remove. * @returns The removed track(s). */ remove(position?: number): Track[]; remove(start: number, end: number): Track[]; /** * Clears the queue. * This will remove all tracks from the queue and emit a state update event. */ clear(): void; /** * Shuffles the queue. * This will randomize the order of the tracks in the queue and emit a state update event. */ shuffle(): void; /** * Shuffles the queue to play tracks requested by each user one block at a time. */ userBlockShuffle(): void; /** * Shuffles the queue to play tracks requested by each user one by one. */ roundRobinShuffle(): void; }