Discord Player

Playlist

A playlist and its tracks, independent of any Discord client library.

You are reading the v8 docsDev
ClassTypeScript@discord-player/plugin-host
View sourcepackages/plugin-host/src/structures/playlist.ts:108
class Playlist implements Iterable<Track>, Serializable<SerializedPlaylist>

A playlist and its tracks, independent of any Discord client library.

Constructors

constructor

constructor(data?: PlaylistData)

Create a playlist from public metadata and Track entries.

Parameters

NameTypeDescription
data?PlaylistData

Playlist metadata and entries in source order.

constructor(player: LegacyPlayerContext, data: PlaylistData)

Legacy playlist construction.

Parameters

NameTypeDescription
playerLegacyPlayerContext

Legacy Player; retained only for call compatibility.

dataPlaylistData

Playlist metadata.

Properties

idreadonly

readonly id: string

Stable source playlist identifier.

url

url: string

Source page URL.

title

title: string

Display title.

description

description: string

Playlist description.

thumbnail

thumbnail: string

Thumbnail URL.

type

type: "album" | "playlist"

Album or playlist classification.

source

source: string

Source name.

author

author: {
  name: string;
  url: string;
}

Playlist author name and source URL.

tracks

tracks: Track<unknown>[]

Tracks in this playlist, in source order.

Accessors

estimatedDurationreadonly

readonly get estimatedDuration(): number

Sum of known Track durations in milliseconds.

Returns

number

durationFormattedreadonly

readonly get durationFormatted(): string

Human-readable sum of known Track durations.

Returns

string

Methods

toJSON

toJSON(withTracks: boolean = true): PlaylistJSON

Return a JSON-compatible playlist representation.

Parameters

NameTypeDescription
withTracksbooleanDefault: true

Whether to include Track data in the result.

Returns

PlaylistJSON

serialize

Implementation of Serializable.serialize

serialize(): SerializedPlaylist

Serialize public Playlist metadata and ordered Tracks using schema version 1. Track serialization omits each Track's parent Playlist reference to prevent recursive payloads.

Returns

SerializedPlaylist

A versioned Playlist persistence payload.

[iterator]

Implementation of Iterable.[iterator]

[iterator](): Iterator<Track<unknown>>

Iterate over Tracks in source order.

Returns

Iterator<Track<unknown>>

Static methods

deserializestatic

static deserialize(data: PlaylistData): Playlist

Reconstruct a Playlist from public data and link its Tracks to the restored Playlist.

Parameters

NameTypeDescription
dataPlaylistData

Playlist fields and optional Track entries.

Returns

Playlist

fromSerializedstatic

static fromSerialized(serialized: SerializedPlaylist): Playlist

Reconstruct a Playlist from a validated versioned persistence payload.

Parameters

NameTypeDescription
serializedSerializedPlaylist

Versioned Playlist payload containing ordered Track entities.

Returns

Playlist

A Playlist with Track instances linked to their parent Playlist.

On this page