Panel terminé + Refresh token auto
This commit is contained in:
25
app.js
25
app.js
@@ -5,12 +5,12 @@ require('dotenv').config()
|
||||
|
||||
|
||||
// UTILS
|
||||
const checkUser = require('./utils/checkUser')
|
||||
const checkChannel = require('./utils/checkChannel')
|
||||
const getRewardData = require('./utils/getRewardData')
|
||||
const getRewardID = require('./utils/getRewardID')
|
||||
const getUserAccessToken = require('./utils/getUserAccessToken')
|
||||
const getUserID = require('./utils/getUserID')
|
||||
const getUserInfo = require('./utils/getUserInfo')
|
||||
const getUserName = require('./utils/getUserName')
|
||||
const oauthGen = require('./utils/oauthGen')
|
||||
const parseMessage = require('./utils/parseMessage')
|
||||
const rewardRedemption = require('./utils/rewardRedemption')
|
||||
@@ -54,19 +54,21 @@ app.get('/twitch/oauth/login/:type', async (req, res) => {
|
||||
let type = req.params.type
|
||||
|
||||
if (type === 'user') {
|
||||
user_access_token = await getUserAccessToken(client_id, client_secret, req.query.code, redirect_uri + type)
|
||||
[ user_access_token, user_refresh_token ] = await getUserAccessToken(client_id, client_secret, req.query.code, redirect_uri + type)
|
||||
writeEnv('TWITCH_USER_ACCESS_TOKEN', user_access_token)
|
||||
writeEnv('TWITCH_USER_REFRESH_TOKEN', user_refresh_token)
|
||||
|
||||
user_name = await getUserName(client_id, user_access_token).login
|
||||
user_name = await getUserInfo(client_id, user_access_token).login
|
||||
writeEnv('TWITCH_USER_USERNAME', user_name)
|
||||
|
||||
clientChatBot.connect('wss://irc-ws.chat.twitch.tv:443')
|
||||
}
|
||||
else if (type === 'channel') {
|
||||
channel_access_token = await getUserAccessToken(client_id, client_secret, req.query.code, redirect_uri + type)
|
||||
[ channel_access_token, channel_refresh_token ] = await getUserAccessToken(client_id, client_secret, req.query.code, redirect_uri + type)
|
||||
writeEnv('TWITCH_CHANNEL_ACCESS_TOKEN', channel_access_token)
|
||||
writeEnv('TWITCH_CHANNEL_REFRESH_TOKEN', channel_refresh_token)
|
||||
|
||||
channel_name = await getUserName(client_id, channel_access_token).login
|
||||
channel_name = await getUserInfo(client_id, channel_access_token).login
|
||||
writeEnv('TWITCH_CHANNEL_USERNAME', channel_name)
|
||||
|
||||
clientEventSub.connect('wss://eventsub.wss.twitch.tv/ws')
|
||||
@@ -102,9 +104,13 @@ const clientChatBot = new WebSocketClient()
|
||||
let connectionChatBot
|
||||
|
||||
clientChatBot.on('connect', async connection => {
|
||||
console.log('Twitch ChatBot WebSocket Connected !')
|
||||
connectionChatBot = connection
|
||||
|
||||
console.log('Twitch ChatBot WebSocket Connected !')
|
||||
|
||||
// Check if the user access token is still valid
|
||||
//[user_access_token, user_name] = await checkUser(user_access_token)
|
||||
|
||||
// Authenticate to Twitch IRC and join channel
|
||||
connection.sendUTF('CAP REQ :twitch.tv/commands twitch.tv/membership twitch.tv/tags')
|
||||
connection.sendUTF(`PASS oauth:${user_access_token}`)
|
||||
@@ -151,6 +157,9 @@ clientChatBot.connect('wss://irc-ws.chat.twitch.tv:443')
|
||||
const clientEventSub = new WebSocketClient().on('connect', async connection => {
|
||||
console.log('Twitch EventSub WebSocket Connected !')
|
||||
|
||||
// Check if the channel access token is still valid
|
||||
//[channel_access_token, channel_name] = await checkChannel(channel_access_token)
|
||||
|
||||
connection.on('message', async message => {
|
||||
if (message.type === 'utf8') {
|
||||
try {
|
||||
@@ -160,7 +169,7 @@ const clientEventSub = new WebSocketClient().on('connect', async connection => {
|
||||
if (data.metadata.message_type === 'session_welcome') {
|
||||
|
||||
// Get broadcaster user id and reward id
|
||||
let broadcaster_user_id = await getUserID(client_id, channel_access_token)
|
||||
let broadcaster_user_id = await getUserInfo(client_id, channel_access_token).id
|
||||
writeEnv('TWITCH_CHANNEL_BROADCASTER_ID', broadcaster_user_id)
|
||||
let reward_id = await getRewardID(client_id, channel_access_token, broadcaster_user_id, channel_reward_name)
|
||||
writeEnv('TWITCH_CHANNEL_REWARD_ID', reward_id)
|
||||
|
||||
Reference in New Issue
Block a user