From e7bf2a4b47d47c48e72259c70d13a711772b2f75 Mon Sep 17 00:00:00 2001 From: Max Isom Date: Sat, 31 Oct 2020 10:42:06 -0400 Subject: [PATCH] Automatically refresh Spotify token --- src/index.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 6ef3575..2cdd6f1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -9,11 +9,19 @@ import {sequelize} from './utils/db'; let bot = container.get(TYPES.Bot); const spotify = container.get(TYPES.Lib.Spotify); -(async () => { +const refreshSpotifyToken = async () => { const auth = await spotify.clientCredentialsGrant(); spotify.setAccessToken(auth.body.access_token); + return auth.body.expires_in; +}; + +(async () => { + const spotifyRefreshIntervalSeconds = await refreshSpotifyToken(); + + setInterval(async () => refreshSpotifyToken(), (spotifyRefreshIntervalSeconds / 2) * 1000); + // Create data directories if necessary await makeDir(container.get(TYPES.Config.DATA_DIR)); await makeDir(container.get(TYPES.Config.CACHE_DIR));