25 lines
918 B
JavaScript
25 lines
918 B
JavaScript
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]
|
|
} |