diff --git a/src/Queue/Queue.ts b/src/Queue/Queue.ts index ae152ef..3cf6979 100644 --- a/src/Queue/Queue.ts +++ b/src/Queue/Queue.ts @@ -6,6 +6,7 @@ import { VoiceState } from "../Voice"; import { FilterManager } from "./index"; import type { APIPlayer, + CommonUserData, Exception, JsonObject, PlayerUpdateQueryParams, @@ -301,7 +302,7 @@ export class Queue = QueueContext> { * @param source track, list of tracks, or playlist * @param userData Object to shallow merge in all track's user data */ - add(source: Track | Track[] | Playlist, userData?: JsonObject) { + add(source: Track | Track[] | Playlist, userData?: UserData) { if (source instanceof Track) { Object.assign(source.userData, userData); this.#tracks.push(source); @@ -321,13 +322,14 @@ export class Queue = QueueContext> { /** * Add related tracks to the queue - * @param refTrack Track to use as reference + * @param refTrack Track to use as reference, leave as `null` or `undefined` for default + * @param userData Object to shallow merge in all track's user data */ - async addRelated(refTrack?: Track) { + async addRelated(refTrack?: Track | null, userData?: UserData) { refTrack ??= this.track ?? this.previousTrack!; if (!refTrack) throw new Error("The queue is empty and there is no track to refer"); const relatedTracks = await this.player.options.fetchRelatedTracks(this, refTrack); - this.add(relatedTracks); + this.add(relatedTracks, userData); return relatedTracks; }