require('dotenv').config() const validateToken = require('./validateToken') const refreshToken = require('./refreshToken') const writeEnv = require('./writeEnv') let client_id = process.env.TWITCH_APP_ID let client_secret = process.env.TWITCH_APP_SECRET module.exports = checkUser = (async (access_token) => { // Check if user_access_token is valid if (!await validateToken(access_token)) { // If not, refresh it let result = await refreshToken(client_id, client_secret, process.env.TWITCH_USER_REFRESH_TOKEN) if (result.status) return result = ['no_refresh', result.message] let [user_access_token, user_refresh_token] = result writeEnv('TWITCH_USER_ACCESS_TOKEN', user_access_token) writeEnv('TWITCH_USER_REFRESH_TOKEN', user_refresh_token) let user_name = await getUserInfo(client_id, user_access_token).login writeEnv('TWITCH_USER_USERNAME', user_name) } return result })