delete window.$;let wpRequire=webpackChunkdiscord_app.push([[Symbol()],{},e=>e]);webpackChunkdiscord_app.pop();let ApplicationStreamingStore=Object.values(wpRequire.c).find((e=>e?.exports?.Z?.__proto__?.getStreamerActiveStreamMetadata)).exports.Z,RunningGameStore=Object.values(wpRequire.c).find((e=>e?.exports?.ZP?.getRunningGames)).exports.ZP,QuestsStore=Object.values(wpRequire.c).find((e=>e?.exports?.Z?.__proto__?.getQuest)).exports.Z,ChannelStore=Object.values(wpRequire.c).find((e=>e?.exports?.Z?.__proto__?.getAllThreadsForParent)).exports.Z,GuildChannelStore=Object.values(wpRequire.c).find((e=>e?.exports?.ZP?.getSFWDefaultChannel)).exports.ZP,FluxDispatcher=Object.values(wpRequire.c).find((e=>e?.exports?.Z?.__proto__?.flushWaitQueue)).exports.Z,api=Object.values(wpRequire.c).find((e=>e?.exports?.tn?.get)).exports.tn,quest=[...QuestsStore.quests.values()].find((e=>"1248385850622869556"!==e.id&&e.userStatus?.enrolledAt&&!e.userStatus?.completedAt&&new Date(e.config.expiresAt).getTime()>Date.now())),isApp="undefined"!=typeof DiscordNative;if(quest){const e=Math.floor(3e4*Math.random())+1e3,t=quest.config.application.id,o=quest.config.application.name,s=quest.config.messages.questName,a=quest.config.taskConfig??quest.config.taskConfigV2,n=["WATCH_VIDEO","PLAY_ON_DESKTOP","STREAM_ON_DESKTOP","PLAY_ACTIVITY","WATCH_VIDEO_ON_MOBILE"].find((e=>null!=a.tasks[e])),r=a.tasks[n].target;let i=quest.userStatus?.progress?.[n]?.value??0;if("WATCH_VIDEO"===n||"WATCH_VIDEO_ON_MOBILE"===n){const e=10,t=7,o=1,a=new Date(quest.userStatus.enrolledAt).getTime();let n=!1;(async()=>{for(;;){const s=Math.floor((Date.now()-a)/1e3)+e,l=i+t;if(s-i>=t){const e=await api.post({url:`/quests/${quest.id}/video-progress`,body:{timestamp:Math.min(r,l+Math.random())}});n=null!=e.body.completed_at,i=Math.min(r,l)}if(l>=r)break;await new Promise((e=>setTimeout(e,1e3*o)))}n||await api.post({url:`/quests/${quest.id}/video-progress`,body:{timestamp:r}}),console.log("Quest completed!")})(),console.log(`Spoofing video for ${s}.`)}else if("PLAY_ON_DESKTOP"===n)isApp?api.get({url:`/applications/public?application_ids=${t}`}).then((s=>{const a=s.body[0],n=a.executables.find((e=>"win32"===e.os)).name.replace(">",""),l={cmdLine:`C:\\Program Files\\${a.name}\\${n}`,exeName:n,exePath:`c:/program files/${a.name.toLowerCase()}/${n}`,hidden:!1,isLauncher:!1,id:t,name:a.name,pid:e,pidPath:[e],processName:a.name,start:Date.now()},u=RunningGameStore.getRunningGames(),p=[l],c=RunningGameStore.getRunningGames,d=RunningGameStore.getGameForPID;RunningGameStore.getRunningGames=()=>p,RunningGameStore.getGameForPID=e=>p.find((t=>t.pid===e)),FluxDispatcher.dispatch({type:"RUNNING_GAMES_CHANGE",removed:u,added:[l],games:p});let g=e=>{let t=1===quest.config.configVersion?e.userStatus.streamProgressSeconds:Math.floor(e.userStatus.progress.PLAY_ON_DESKTOP.value);console.log(`Quest progress: ${t}/${r}`),t>=r&&(console.log("Quest completed!"),RunningGameStore.getRunningGames=c,RunningGameStore.getGameForPID=d,FluxDispatcher.dispatch({type:"RUNNING_GAMES_CHANGE",removed:[l],added:[],games:[]}),FluxDispatcher.unsubscribe("QUESTS_SEND_HEARTBEAT_SUCCESS",g))};FluxDispatcher.subscribe("QUESTS_SEND_HEARTBEAT_SUCCESS",g),console.log(`Spoofed your game to ${o}. Wait for ${Math.ceil((r-i)/60)} more minutes.`)})):console.log("This no longer works in browser for non-video quests. Use the discord desktop app to complete the",s,"quest!");else if("STREAM_ON_DESKTOP"===n)if(isApp){let s=ApplicationStreamingStore.getStreamerActiveStreamMetadata;ApplicationStreamingStore.getStreamerActiveStreamMetadata=()=>({id:t,pid:e,sourceName:null});let a=e=>{let t=1===quest.config.configVersion?e.userStatus.streamProgressSeconds:Math.floor(e.userStatus.progress.STREAM_ON_DESKTOP.value);console.log(`Quest progress: ${t}/${r}`),t>=r&&(console.log("Quest completed!"),ApplicationStreamingStore.getStreamerActiveStreamMetadata=s,FluxDispatcher.unsubscribe("QUESTS_SEND_HEARTBEAT_SUCCESS",a))};FluxDispatcher.subscribe("QUESTS_SEND_HEARTBEAT_SUCCESS",a),console.log(`Spoofed your stream to ${o}. Stream any window in vc for ${Math.ceil((r-i)/60)} more minutes.`),console.log("Remember that you need at least 1 other person to be in the vc!")}else console.log("This no longer works in browser for non-video quests. Use the discord desktop app to complete the",s,"quest!");else if("PLAY_ACTIVITY"===n){const e=`call:${ChannelStore.getSortedPrivateChannels()[0]?.id??Object.values(GuildChannelStore.getAllGuilds()).find((e=>null!=e&&e.VOCAL.length>0)).VOCAL[0].channel.id}:1`;(async()=>{for(console.log("Completing quest",s,"-",quest.config.messages.questName);;){const t=(await api.post({url:`/quests/${quest.id}/heartbeat`,body:{stream_key:e,terminal:!1}})).body.progress.PLAY_ACTIVITY.value;if(console.log(`Quest progress: ${t}/${r}`),await new Promise((e=>setTimeout(e,2e4))),t>=r){await api.post({url:`/quests/${quest.id}/heartbeat`,body:{stream_key:e,terminal:!0}});break}}console.log("Quest completed!")})()}}else console.log("You don't have any uncompleted quests!");-
-
Save notruri/787e155cb4ed443a3045694c410a7a5b to your computer and use it in GitHub Desktop.
Complete Recent Discord Quest
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment