Skip to content
muwuvPublic

About

Fakes running games so play-a-game quests tick down on their own. Tauri + Rust + React, Windows.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

Discord Quest

A Windows app that completes Discord quests for you. Two tabs:

  • Games — pick a game from the catalog, hit Launch, wait for the 15:00 timer, claim the reward. No installs, no client patching.
  • Video — paste your user token once and video quests watch themselves: enroll, progress at 1x, claim. The token never leaves your PC except to discord.com.

Demo

demo.mp4

What it covers

Quest type Works Notes
Play a game for 15 minutes Yes the core feature: a fake process with the quest game's exe name
Play 2/3 different games Yes launch several fakes at once, timers run in parallel
Play a specific quest game Yes search it by name, launch its fake
Watch-a-video quests Yes Video tab: auto-watch with your token, then claim
Achievement / in-game progress No the client checks real game telemetry, a fake process can't provide it

While a fake is running, Discord sees the game as detected and its server-side timer accumulates. The app mirrors the 15:00 progress per session in the Active panel, so you know exactly when to claim.

Video quests

Open the Video tab and paste your Discord token. The app first checks the format locally, then verifies it against users/@me — random words are rejected and never saved. A saved token is re-checked on startup; a 401 drops it back to the token screen (a network error does not).

Watching works like the real player: enroll in the quest, report progress roughly every 4 seconds at 1x speed, claim when done. Progress shows as a ring around the quest badge; a green ring means done.

Risks, stated plainly:

  • A user token is full account access. It is stored only on this PC and sent only to discord.com, but anyone holding it owns the account. Never share it; change your password to revoke it.
  • Automating quests violates Discord's ToS. There is no safe way to do it — an account ban or quest disqualification is possible. Use at your own risk.

Download and install

Grab Quest.Rig_0.5.0_x64-setup.exe from Releases (built automatically by CI on every v* tag) and run it. Standard installer with desktop/start-menu shortcuts and an English/Russian language selector. WebView2 gets installed automatically if it is missing.

The installers are not code-signed by default, so Windows SmartScreen shows "Windows protected your PC" on first launch. That is expected for any unsigned build. More info, then Run anyway. Everything is built by GitHub Actions straight from the tagged source.

To ship signed installers, buy a code signing certificate from a trusted CA (OV works, EV skips the SmartScreen reputation wait) and add it to the repo secrets as WINDOWS_CERTIFICATE (base64 of the .pfx) plus WINDOWS_CERTIFICATE_PASSWORD. The release workflow picks it up automatically and signs the build. A self-signed cert changes nothing for SmartScreen, but scripts/selfsign-cert.ps1 creates one for local signing tests.

Building from source:

git clone <repo>
cd "Discord Quest"
npm install
dev.bat              :: dev mode with hot reload
npm run tauri build  :: installer + portable exe in src-tauri\target\release\bundle

Requires Node 18+ and the Rust toolchain (MSVC target).

How it works

  1. Loads the detectable-games catalog from discord.com/api/v9/applications/detectable (directly from the window, falling back to the Rust backend with a cache).
  2. Copies a tiny GUI host (game_host.exe, about 130 KB, our own binary) under the real game's executable name, e.g. SonsOfTheForest.exe, into %LOCALAPPDATA%\DiscordQuest\games\.
  3. Launches it as a normal process with a real (but off-screen) window titled after the game.
  4. Discord's process scanner sees a "running game" and the quest timer ticks.

Sessions are persisted to %LOCALAPPDATA%\DiscordQuest\sessions.json:

  • processes still alive after an app restart are adopted with their timers intact (verified by PID plus image path),
  • processes that died end up under Paused: hit Resume and the timer continues where it stopped,
  • total farmed time and run count are kept in the Total counter.

The game is not detected

  • In Discord go to Settings, Privacy Settings, and turn on "Share detected activity". Without it, detection is shown to no one, including you.
  • Detection is not instant: the scanner polls processes roughly every 15 to 30 seconds.

Controls

  • / focuses search, up/down moves selection, Enter launches, Esc clears.
  • Double-click a row to launch. The bookmark icon pins a game to the top. Pinned games are hidden from search results while a query is typed.
  • The same game cannot be launched twice. A running game shows a Running state.
  • X on a session stops the process and deletes the fake exe.

Project notes

  • scripts/ensure-host.mjs compiles game_host.exe (a separate workspace crate, src-tauri/game-host/) and stages it into src-tauri/binaries/. Tauri validates the bundle resource on every cargo invocation.
  • scripts/tauri.mjs wraps the Tauri CLI: it stages the window icon into %LOCALAPPDATA%\DiscordQuest\ and overrides bundle.icon via TAURI_CONFIG, because tauri-winres mangles build paths containing apostrophes (e.g. C:\Project's\... gives RC2135).
  • scripts/png-to-ico.mjs builds the multi-size icon.ico from a source PNG (src/icon.png).
  • scripts/make-banner.ps1 renders docs/banner.png.
  • game_host is a separate crate so it can be built without triggering Tauri's build script (which validates bundle resources).

Disclaimer

Educational tool. This targets a specific chat client's quest system and violates its ToS. Use at your own risk. Licensed under view & study only terms: you may look at the code to learn from it. Copying, sharing, modifying, and any commercial use are not allowed.

About

Fakes running games so play-a-game quests tick down on their own. Tauri + Rust + React, Windows.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages