Files
bot_Laytho/utils/checkChannel.js
2023-05-13 23:10:13 +02:00

32 lines
1.2 KiB
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 = checkChannel = (async (channel_access_token) => {
let result = [channel_access_token, '']
// Check if channel_access_token is valid
if (!await validateToken(channel_access_token)) {
result = await refreshToken(client_id, client_secret, process.env.TWITCH_CHANNEL_REFRESH_TOKEN)
if (result.status) return result = ['no_refresh', result.message]
else {
let [channel_access_token, channel_refresh_token] = result
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_NAME', channel_name)
}
} else {
let channel_name = await getUserInfo(client_id, channel_access_token, 'login')
result = [channel_access_token, channel_name]
writeEnv('TWITCH_CHANNEL_NAME', channel_name)
}
return result
})