From 23db830da3901447ac51e056ae186220f288c181 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 14 Jan 2026 17:02:09 +0200 Subject: [PATCH] more app stuff --- index.js | 56 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 11 deletions(-) diff --git a/index.js b/index.js index 23318c3..0514ff0 100644 --- a/index.js +++ b/index.js @@ -3,19 +3,19 @@ import fetch from 'node-fetch'; const botBearerFile = process.env.BOT_BEARER_FILE; const userBearerFile = process.env.USER_BEARER_FILE; -const instance = process.env.INSTANCE || 'shigusegubu.club'; +const instance = process.env.INSTANCE || 'shigusegubu.club'; const videoId = process.env.VIDEO_ID; //const botBearer = fs.readFileSync(botBearerFile, 'utf-8'); //const userBearer = fs.readFileSync(userBearerFile, 'utf-8'); -const botBearer = '' -const userBearer = '' +const botBearer = ''; +const userBearer = ''; const globalState = { exit: false, currentlyLive: false, }; -console.log(userBearer.trim()) +console.log(userBearer.trim()); const headers = (bearer) => ({ accept: 'application/json', @@ -40,10 +40,10 @@ const app = await fetch(`https://${instance}/api/v1/apps`, { }), method: 'POST', mode: 'cors', -}) -console.log('APP REG STATUS', app.status) -const { client_id, client_secret } = await app.json() -console.log({ client_id, client_secret }) +}); +console.log('APP REG STATUS', app.status); +const { client_id, client_secret } = await app.json(); +console.log({ client_id, client_secret }); const bearer = await fetch(`https://${instance}/oauth/token`, { headers: { @@ -59,9 +59,43 @@ const bearer = await fetch(`https://${instance}/oauth/token`, { }), method: 'POST', mode: 'cors', -}) -console.log('TOKEN STATUS', bearer.status) -console.log('TOKEN RESPONSE', await bearer.json()) +}); +console.log('TOKEN STATUS', bearer.status); +console.log('TOKEN RESPONSE', await bearer.json()); +const data = { + response_type: 'code', + client_id, + redirect_uri: 'urn:ietf:wg:oauth:2.0:oob', + scope: 'write:scrobbles', +}; + +const dataString = Object.entries(data).reduce((acc, [k, v]) => { + const encoded = `${k}=${encodeURIComponent(v)}`; + if (!acc) { + return encoded; + } else { + return `${acc}&${encoded}`; + } +}, ''); + +console.log(`AUTH: ${instance}/oauth/authorize?${dataString}`); + +const auth = await fetch(`https://${instance}/oauth/authorize`, { + headers: { + accept: 'application/json', + 'cache-control': 'no-cache', + 'content-type': 'application/json', + pragma: 'no-cache', + }, + body: JSON.stringify({ + client_id, + response_type: 'code', + grant_type: 'client_credentials', + redirect_uris: 'urn:ietf:wg:oauth:2.0:oob', + }), + method: 'POST', + mode: 'cors', +}); /* */ const post = ({