Discord Player

LrcLib

LRCLIB API client with serialized requests and bounded retries.

You are reading the v8 docsDev
ClassTypeScript@discord-player/plugin-host
View sourcepackages/plugin-host/src/providers/lrclib.ts:90
class LrcLib

LRCLIB API client with serialized requests and bounded retries.

Constructors

constructor

constructor(player: {
  version: string;
  debug(message: string): void;
})

Create an LRCLIB client owned by one Player.

Parameters

NameTypeDescription
player{
version: string;
debug(message: string): void;
}

Player used to identify requests and publish debug messages.

Properties

api

api: string

Base API URL.

timeout

timeout: number

Request timeout in milliseconds.

retryLimit

retryLimit: number

Maximum retry count for rate limits and server errors.

playerreadonly

readonly player: {
  version: string;
  debug(message: string): void;
}

Player used to identify requests and publish debug messages.

Methods

setRequestTimeout

setRequestTimeout(timeout: number): void

Set the request timeout.

Parameters

NameTypeDescription
timeoutnumber

Positive request timeout in milliseconds.

Returns

void

setRetryLimit

setRetryLimit(limit: number): void

Set the maximum retry count.

Parameters

NameTypeDescription
limitnumber

Non-negative retry count for rate limits and server errors.

Returns

void

get

Get lyrics by exact track metadata.

Parameters

NameTypeDescription
paramsLrcGetParams

Track title, artist, album, and optional duration.

Returns

Promise<LrcGetResult>

getById

getById(id: number | `${number}`): Promise<LrcGetResult>

Get lyrics by LRCLIB record ID.

Parameters

NameTypeDescription
idnumber | `${number}`

Numeric LRCLIB record ID.

Returns

Promise<LrcGetResult>

getCached

getCached(params: LrcGetParams): Promise<LrcGetResult>

Get cached lyrics by exact track metadata.

Parameters

NameTypeDescription
paramsLrcGetParams

Track title, artist, album, and optional duration.

Returns

Promise<LrcGetResult>

Search LRCLIB for matching lyric records.

Parameters

NameTypeDescription
paramsLrcSearchParams

Free-form query or track and artist metadata.

Returns

Promise<LrcSearchResult[]>

request

request<Result>(path: string, options: RequestInit = {}): Promise<Result>

Send one serialized request to LRCLIB.

Parameters

NameTypeDescription
pathstring

API path, with or without a leading slash.

optionsRequestInitDefault: {}

Additional fetch options merged with the default GET request.

Returns

Promise<Result>

Parsed JSON response.

On this page