Untitled
unknown
plain_text
10 months ago
2.2 kB
411
Indexable
let wpRequire; window.webpackChunkdiscord_app.push([[ Math.random() ], {}, (req) => { wpRequire = req; }]); let api = Object.values(wpRequire.c).find(x => x?.exports?.getAPIBaseURL).exports.HTTP; let ApplicationStreamingStore = Object.values(wpRequire.c).find(x => x?.exports?.default?.getStreamerActiveStreamMetadata).exports.default; let VoiceStateStore = Object.values(wpRequire.c).find(x => x?.exports?.default?.getCurrentClientVoiceChannelId).exports.default; let QuestsStore = Object.values(wpRequire.c).find(x => x?.exports?.default?.getQuest).exports.default; let encodeStreamKey = Object.values(wpRequire.c).find(x => x?.exports?.encodeStreamKey).exports.encodeStreamKey; let sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); let quest = [...QuestsStore.quests.values()].find(x => x.userStatus?.enrolledAt && !x.userStatus?.completedAt && new Date(x.config.expiresAt).getTime() > Date.now()) let streamData = ApplicationStreamingStore.getCurrentUserActiveStream() let isApp = navigator.userAgent.includes("Electron/") let isAloneInVC = streamData && Object.keys(VoiceStateStore.getVoiceStatesForChannel(streamData.channelId)).length === 1 if(!isApp) { console.log("This no longer works in browser. Use the desktop app!") } else if(!quest) { console.log("You don't have any uncompleted quests!") } else if(!streamData) { console.log("You haven't started a stream!") } else if(isAloneInVC) { console.log("You need to join the vc on 1 other account!") } else { let streamId = encodeStreamKey(streamData) let secondsNeeded = quest.config.streamDurationRequirementMinutes * 60 let heartbeat = async function() { console.log("Completing quest", quest.config.messages.gameTitle, "-", quest.config.messages.questName) while(true) { let res = await api.post({url: `/quests/${quest.id}/heartbeat`, body: {stream_key: streamId}, headers: {"X-Discord-Resource-Optimization-Level": "1"}}) let progress = res.body.stream_progress_seconds console.log(`Quest progress: ${progress}/${secondsNeeded}`) if(progress >= secondsNeeded) break; await sleep(30 * 1000) } console.log("Quest completed!") } heartbeat() }
Editor is loading...
Leave a Comment