Queue
Class representing a queue.
Signature
export declare class QueueJSDoc
Properties
7Methods
11Properties
tracks: TrackResolvableStructure[];Tracks of the queue.
history: TrackStructure[];Previous tracks of the queue.
current: TrackStructure | null;Current track of the queue.
readonly player: PlayerStructure;The player instance.
readonly utils: QueueUtils;The queue utils instance.
sizeGetterget size(): number;Get the track size of the queue.
Returns
The track size of the queue.
Examples
const queue = player.queue;
console.log(queue.size); // 0
queue.add(track);
console.log(queue.size); // 1
queue.add([track1, track2]);
console.log(queue.size); // 3
queue.shift();
console.log(queue.size); // 2
queue.clear();
console.log(queue.size); // 0totalSizeGetterget totalSize(): number;Get the total track size of the queue (Includes the current track).
Returns
The total track size of the queue.
Examples
const queue = player.queue;
console.log(queue.totalSize); // 0
queue.add(track);
console.log(queue.totalSize); // 1
queue.add([track1, track2]);
console.log(queue.totalSize); // 3
queue.shift();
console.log(queue.totalSize); // 2
queue.clear();
console.log(queue.totalSize); // 0Methods
constructorConstructorconstructor(player: PlayerStructure);isEmpty(): boolean;Check if the queue is empty.
Returns
True if the queue is empty.
Examples
const queue = player.queue;
console.log(queue.isEmpty()); // true
queue.add(track);
console.log(queue.isEmpty()); // false
queue.clear();
console.log(queue.isEmpty()); // trueprevious(remove?: boolean): Promise<TrackStructure | null>;Get the previous track of the queue.
Parameters
remove- Whether to remove the track from the previous queue.
Returns
The previous track of the queue.
Examples
const queue = player.queue;
console.log(await queue.previous()); // null
queue.add(track);
queue.add(track2);
console.log(await queue.previous()); // track
console.log(await queue.previous(true)); // track and remove it from the previous tracksadd(track: TrackResolvableStructure | TrackResolvableStructure[], position?: number): Promise<this>;Add a track or tracks to the queue.
Parameters
track- The track or tracks to add.
position- The position to add the track or tracks.
Returns
The queue instance.
Examples
const queue = player.queue;
console.log(queue.size); // 0
await queue.add(track);
console.log(queue.size); // 1
await queue.add([track1, track2]);
console.log(queue.size); // 3
await queue.add(track3, 1);
console.log(queue.size); // 4
console.log(queue.tracks); // [track1, track3, track2, track]shift(): Promise<TrackResolvableStructure | null>;Get the first track of the queue.
Returns
The first track of the queue.
Examples
const queue = player.queue;
console.log(await queue.shift()); // null
await queue.add(track);
console.log(await queue.shift()); // track
await queue.add(track2);unshift(...tracks: TrackResolvableStructure[]): Promise<this>;Add tracks to the beginning of the queue.
Parameters
tracks- The tracks to add.
Returns
The queue instance.
Examples
const queue = player.queue;
console.log(queue.size); // 0
await queue.unshift(track);
console.log(queue.size); // 1
await queue.unshift(track1, track2);
console.log(queue.size); // 3
console.log(queue.tracks); // [track1, track2, track]shuffle(): Promise<this>;Shuffle the queue.
Returns
The queue instance.
Examples
const queue = player.queue;
console.log(queue.size); // 0
await queue.add(track);
await queue.add(track1, track2);
console.log(queue.size); // 3
console.log(queue.tracks); // [track, track1, track2]
await queue.shuffle();
console.log(queue.tracks); // [track2, track, track1]clear(): Promise<this>;Clear the queue.
Returns
The queue instance.
Examples
const queue = player.queue;
await queue.add(track1, track2);
console.log(queue.size); // 2
await queue.clear();
console.log(queue.size); // 0move(track: TrackResolvableStructure, to: number): Promise<this>;Move a track to a specific position in the queue.
Parameters
track- The track to move.
to- The position to move.
Returns
The queue instance.
Examples
const queue = player.queue;
await queue.add(track);
await queue.add(track1);
await queue.add(track2);
console.log(queue.tracks); // [track, track1, track2]
await queue.move(track1, 0);
console.log(queue.tracks); // [track1, track, track2]splice(start: number, deleteCount: number, tracks?: TrackResolvableStructure | TrackResolvableStructure[]): Promise<TrackResolvableStructure[]>;Delete tracks from the queue.
Parameters
start- The start index.
deleteCount- The number of tracks to delete.
tracks- The tracks to add.
Returns
The spliced tracks.
Examples
const queue = player.queue;
await queue.add(track);
await queue.add(track1);
await queue.add(track2);
console.log(queue.tracks); // [track, track1, track2]
await queue.splice(1, 1);
console.log(queue.tracks); // [track, track2]toJSON(): QueueJSON;Convert the queue to a JSON object.
Returns
The queue JSON object.
Examples
const queue = player.queue;
await queue.add(track);
console.log(queue.toJSON()); // { tracks: [{ ... }, { ... }], history: [], current: null }