diff --git a/src/streamers/deezer/main.ts b/src/streamers/deezer/main.ts index 2a71983..d0f7d8f 100644 --- a/src/streamers/deezer/main.ts +++ b/src/streamers/deezer/main.ts @@ -100,6 +100,10 @@ export default class Deezer implements StreamerWithLogin { method: T, data: { [key: string]: string | number | string[] } = {} ): Promise { + // sid + checkForm renewal + if (method != 'deezer.getUserData' && method != 'user.getArl' && this.#isSessionExpired()) + await this.#apiCall('deezer.getUserData') + let apiToken = this.apiToken if (method == 'deezer.getUserData' || method == 'user.getArl') apiToken = '' @@ -168,6 +172,10 @@ export default class Deezer implements StreamerWithLogin { return userData } + #isSessionExpired() { + return Date.now() - (this.renewTimestamp ?? 0) >= 3600 * 1000 + } + #md5(str: string) { return createHash('md5').update(str).digest('hex') } @@ -428,7 +436,7 @@ export default class Deezer implements StreamerWithLogin { trackTokenExpiry: number, format: DeezerFormat ): Promise { - if (Date.now() - (this.renewTimestamp ?? 0) >= 3600 * 1000) + if (this.#isSessionExpired()) // renew license token await this.#apiCall('deezer.getUserData')