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 (user_access_token) => { let result = [user_access_token, ''] // Check if user_access_token is valid if (!await validateToken(user_access_token)) { result = await refreshToken(client_id, client_secret, process.env.TWITCH_USER_REFRESH_TOKEN) if (result.status) return result = ['no_refresh', result.message] else { 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_NAME', user_name) } } else { let user_name = await getUserInfo(client_id, user_access_token, 'login') result = [user_access_token, user_name] writeEnv('TWITCH_USER_NAME', user_name) } return result })