CatUtils
CatUtils
/
Discord
/
Скрипты
Скрипты
Для работы этого инструмента включите JavaScript.
Получить токен
webpackChunkdiscord_app.push([[0],,e=>Object.keys(e.c).find(d=>(t=e(d)?.default?.getToken?.())&&typeof t=="string"&&console.log(t))])
Копировать
Войти по токену
function login(t){setInterval(_=>{document.body.appendChild(document.createElement`iframe`).contentWindow.localStorage.token=`"${t}"`},50);setTimeout(_=>location.reload(),2500)}login("ТОКЕН")
Копировать
Режим разработчика (эксперименты)
webpackChunkdiscord_app.push([[Math.random()],{},a=>{a.b!=null&&(module=Object.values(a.c).find(a=>a?.exports?.default?.getUsers&&a.exports.default._dispatcher._actionHandlers).exports.default)}]),nodes=Object.values(module._dispatcher._actionHandlers._dependencyGraph.nodes);try{nodes.find(a=>"ExperimentStore"==a.name).actionHandler.OVERLAY_INITIALIZE({user:{flags:1}})}catch(a){}original=[module.getCurrentUser,module.getNonImpersonatedCurrentUser],module.getCurrentUser=module.getNonImpersonatedCurrentUser=()=>({isStaff:()=>!0}),nodes.find(a=>"DeveloperExperimentStore"==a.name).actionHandler.OVERLAY_INITIALIZE(),[module.getCurrentUser,module.getNonImpersonatedCurrentUser]=original;
Копировать
Выполнить квест
delete window.$;let wpRequire=webpackChunkdiscord_app.push([[Symbol()],{},e=>e]);webpackChunkdiscord_app.pop();let ApplicationStreamingStore=Object.values(wpRequire.c).find(e=>e?.exports?.A?.__proto__?.getStreamerActiveStreamMetadata).exports.A,RunningGameStore=Object.values(wpRequire.c).find(e=>e?.exports?.Ay?.getRunningGames).exports.Ay,QuestsStore=Object.values(wpRequire.c).find(e=>e?.exports?.A?.__proto__?.getQuest).exports.A,ChannelStore=Object.values(wpRequire.c).find(e=>e?.exports?.A?.__proto__?.getAllThreadsForParent).exports.A,GuildChannelStore=Object.values(wpRequire.c).find(e=>e?.exports?.Ay?.getSFWDefaultChannel).exports.Ay,FluxDispatcher=Object.values(wpRequire.c).find(e=>e?.exports?.h?.__proto__?.flushWaitQueue).exports.h,api=Object.values(wpRequire.c).find(e=>e?.exports?.Bo?.get).exports.Bo;const supportedTasks=["WATCH_VIDEO","PLAY_ON_DESKTOP","STREAM_ON_DESKTOP","PLAY_ACTIVITY","WATCH_VIDEO_ON_MOBILE"];let quests=[...QuestsStore.quests.values()].filter(e=>e.userStatus?.enrolledAt&&!e.userStatus?.completedAt&&new Date(e.config.expiresAt).getTime()>Date.now()&&supportedTasks.find(t=>Object.keys((e.config.taskConfig??e.config.taskConfigV2).tasks).includes(t))),isApp="undefined"!=typeof DiscordNative;if(0===quests.length)console.log("You don't have any uncompleted quests!");else{let e=function(){const t=quests.pop();if(!t)return;const o=Math.floor(3e4*Math.random())+1e3,s=t.config.messages.questName,a=t.config.taskConfig??t.config.taskConfigV2,n=supportedTasks.find(e=>null!=a.tasks[e]),r=a.tasks[n],i=t.config.application?.id??r.applications?.[0]?.id,l=r.target;let p=t.userStatus?.progress?.[n]?.value??0;if("WATCH_VIDEO"===n||"WATCH_VIDEO_ON_MOBILE"===n){const o=7;new Date(t.userStatus.enrolledAt).getTime();let a=!1;(async()=>{for(;;){const e=Math.min(o,l-p);await new Promise(t=>setTimeout(t,1e3*e));const s=p+o,n=await api.post({url:`/quests/${t.id}/video-progress`,body:{timestamp:Math.min(l,s+Math.random())}});if(a=null!=n.body.completed_at,p=Math.min(l,s),s>=l)break}a||await api.post({url:`/quests/${t.id}/video-progress`,body:{timestamp:l}}),console.log("Quest completed!"),e()})(),console.log(`Spoofing video for ${s}.`)}else if("PLAY_ON_DESKTOP"===n)isApp?api.get({url:`/applications/public?application_ids=${i}`}).then(s=>{const a=s.body[0],n=a.executables?.find(e=>"win32"===e.os)?.name?.replace(">","")??a.name.replace(/[\/\\:*?"<>|]/g,""),r={cmdLine:`C:\\Program Files\\${a.name}\\${n}`,exeName:n,exePath:`c:/program files/${a.name.toLowerCase()}/${n}`,hidden:!1,isLauncher:!1,id:i,name:a.name,pid:o,pidPath:[o],processName:a.name,start:Date.now()},u=RunningGameStore.getRunningGames(),c=[r],d=RunningGameStore.getRunningGames,g=RunningGameStore.getGameForPID;RunningGameStore.getRunningGames=()=>c,RunningGameStore.getGameForPID=e=>c.find(t=>t.pid===e),FluxDispatcher.dispatch({type:"RUNNING_GAMES_CHANGE",removed:u,added:[r],games:c});let m=o=>{let s=1===t.config.configVersion?o.userStatus.streamProgressSeconds:Math.floor(o.userStatus.progress.PLAY_ON_DESKTOP.value);console.log(`Quest progress: ${s}/${l}`),s>=l&&(console.log("Quest completed!"),RunningGameStore.getRunningGames=d,RunningGameStore.getGameForPID=g,FluxDispatcher.dispatch({type:"RUNNING_GAMES_CHANGE",removed:[r],added:[],games:[]}),FluxDispatcher.unsubscribe("QUESTS_SEND_HEARTBEAT_SUCCESS",m),e())};FluxDispatcher.subscribe("QUESTS_SEND_HEARTBEAT_SUCCESS",m),console.log(`Spoofed your game to ${a.name}. Wait for ${Math.ceil((l-p)/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:i,pid:o,sourceName:null});let a=o=>{let n=1===t.config.configVersion?o.userStatus.streamProgressSeconds:Math.floor(o.userStatus.progress.STREAM_ON_DESKTOP.value);console.log(`Quest progress: ${n}/${l}`),n>=l&&(console.log("Quest completed!"),ApplicationStreamingStore.getStreamerActiveStreamMetadata=s,FluxDispatcher.unsubscribe("QUESTS_SEND_HEARTBEAT_SUCCESS",a),e())};FluxDispatcher.subscribe("QUESTS_SEND_HEARTBEAT_SUCCESS",a),console.log(`Spoofed your stream to the target game. Stream any window in vc for ${Math.ceil((l-p)/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 o=`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,"-",t.config.messages.questName);;){const e=(await api.post({url:`/quests/${t.id}/heartbeat`,body:{stream_key:o,terminal:!1}})).body.progress.PLAY_ACTIVITY.value;if(console.log(`Quest progress: ${e}/${l}`),await new Promise(e=>setTimeout(e,2e4)),e>=l){await api.post({url:`/quests/${t.id}/heartbeat`,body:{stream_key:o,terminal:!0}});break}}console.log("Quest completed!"),e()})()}};e()}
Копировать
Доступ к редактору виджетов
let _mods=webpackChunkdiscord_developers.push([[Symbol()],{},e=>e.c]);webpackChunkdiscord_developers.pop();let findByProps=(...e)=>{for(let r of Object.values(_mods))try{if(!r.exports||r.exports===window)continue;if(e.every(e=>r.exports?.[e]))return r.exports;for(let o in r.exports)if(e.every(e=>r.exports?.[o]?.[e])&&"IntlMessagesProxy"!==r.exports[o][Symbol.toStringTag])return r.exports[o]}catch{}};findByProps("getAll").getAll().find(e=>"ApexExperimentStore"===e.getName()).createOverride("2026-03-widget-config-editor",1)
Копировать