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 = async function (channel_access_token) { let channel_refresh_token = '' // Check if channel_access_token is valid if (!await validateToken(channel_access_token)) { // If not, refresh it [channel_access_token, channel_refresh_token] = await refreshToken(client_id, client_secret, channel_access_token) writeEnv('TWITCH_CHANNEL_ACCESS_TOKEN', channel_access_token) writeEnv('TWITCH_CHANNEL_REFRESH_TOKEN', channel_refresh_token) let channel_name = await getUserInfo(client_id, channel_access_token).login writeEnv('TWITCH_CHANNEL_USERNAME', channel_name) } return [channel_access_token, channel_name] }