aboutsummaryrefslogtreecommitdiff
path: root/src/index.ts
diff options
context:
space:
mode:
authorMax Isom <[email protected]>2020-10-31 10:42:06 -0400
committerMax Isom <[email protected]>2020-10-31 10:42:06 -0400
commite7bf2a4b47d47c48e72259c70d13a711772b2f75 (patch)
treea85e8b59e161444b714bb7bbf9cf7329e45be65d /src/index.ts
parent60a76582935b4ca3a4e2ae6bfa1b54427e0487a5 (diff)
downloadmuse-e7bf2a4b47d47c48e72259c70d13a711772b2f75.tar.xz
muse-e7bf2a4b47d47c48e72259c70d13a711772b2f75.zip
Automatically refresh Spotify token
Diffstat (limited to 'src/index.ts')
-rw-r--r--src/index.ts10
1 files changed, 9 insertions, 1 deletions
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<Bot>(TYPES.Bot);
const spotify = container.get<Spotify>(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));