Skip to content

A Windows desktop application to complete quests on Discord without installing the full actual games.

License

Notifications You must be signed in to change notification settings

markterence/discord-quest-completer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Discord Quest Completer

GitHub Actions Workflow Status GitHub Actions Workflow Status

A quest completer for Discord. Discord Quest Completer. I don't know what to call this, but there it is.

A Windows desktop application for Discord Rich Presence and completing Discord Quest for games without needing to install the full actual games/applications. Perfect for completing Discord Quests and showing off your gaming status without the storage burden.

demo.mp4

πŸ“₯ Installation

Windows

You can download manually pre-built release binaries on the Releases page.

Alternatively, you can follow the development setup instructions to build the app from source.

Important

Make sure you place or extract in a location where you have write or execute permissions.

The reason for this is that the app will create dummy game file in the same directory. By default, the app will not need to be run as administrator, unless if it was installed in a directory that requires elevated permissions. (e.g. C:\Program Files\, root of C:\, etc.)

Note

Webview2 is required to run the app. WebView2 comes preinstalled on Windows 11. On versions older than Windows 11 you may need to install it manually. If you don't have it installed, you can download it from here.

Uninstall

To uninstall the app, simply go to the folder where you extracted or placed the app and delete it's folder and thats it.

The content of the folder may look like this:

discord-quest-completer/
β”œβ”€β”€ discord-quest-completer.exe (main app)
β”œβ”€β”€ data/ 
β”‚   β”œβ”€β”€ src-win.exe (runner dummy template)
β”œβ”€β”€ games/
β”‚    β”œβ”€β”€ <game-id>/

✨ Features

  • Simulate playing verified Discord games without intalling a full game!
  • Complete Discord Quests requiring 15-minute gameplay (not yet tested for Stream the game Quests)
  • Only Discord Verified games are supported. The application fetches a list of games that Discord can automatically detect.

βš™οΈ How It Works

This app creates small executable files that mimic the actual game processes that Discord looks for when detecting a verified game to use it for it's Rich Presence activity. When launched/played, the tiny executables trigger Discord's Rich Presence/Registed Games detection. Discord checks if Game exe name is running, sometimes it needs to be a folder where the game is supposed to be, thats how mainly it detects the Games, we can clearly see this on the "Registered Games" in the settings.

The dummy game executale files used by this program are placed in a folder called games/ folder relative to the main application's exe. As of release build v2025.10.07 the dummy executable file size is around 250kb, it could be smaller but it requires the end-users to install .NET Framework Runtime (which is sometimes comes pre-installed on an up-to-date Windows 11 PC's, so for now the dummy exe using WinAPI through C++ for compatibility rather than C#)

Tip

After launching some games over a period of time, those files may accumulate. For a little maintenance, you can manually delete the created folders under the games/ folder if you need to.

Use Cases

  • Complete Discord Quests without downloading massive game files
  • Show-off playing the latest games on your status if you want to. (Even if you don't really have it.) (LOL)
  • Save disk space while still participating in Discord's Quest.
  • I want to complete the Quest but I don't want to install the game's anti-cheat, game is too big, or it won't run on my PC.
  • Useful for users with limited internet bandwidth or storage space

❀️ Support ❀️

GitHub - Become a Sponsor on GitHub. One time support, or a recurring donation

Paypal - One-time donation via PayPal

stargazers


πŸ–₯️ Supported Platforms

  • Windows 11 (not tested on Windows 10 but it should work)

🐧 Linux and 🍎 MacOS Support?

TL;DR: Linux and macOS are not supported.

Currently, only Windows is supported. I will try to add Linux support if I can. I don't have a macOS machine to test on, so macOS support is not going to happen.

The reason for not having Linux and macOS support right now is that I want to make sure the dummy game runner has a minimal size β€” around 100KB or less for each platform.
For Windows, for example, I used Rust and the windows crate to access the Win32 API and create a dummy window. This compiles to a small 136KB executable.
I also tried a C# .NET app, which is fantastically small β€” only 7KB β€” but it may require the end-user to install the .NET 4.7 Runtime.

For Linux, I don’t know where to start yet. I will try to explore more options to keep the runner binary small. It’s also a pain (Wine, Proton, etc. How does Discord detection even work on Linux? LMAO β€” same for macOS).
Additionally, if you are trying to run the windows build trough Wine in Linux, some of the dependencies such as Microsoft WebView2 somewhat problematic to install and get running.


πŸ› οΈ Tech Stack

  • πŸ¦€ Rust
  • 🌐 Vue.js
  • 🧰 Tauri

πŸ§‘β€πŸ’» Development Setup

πŸ–₯️ Recommended IDE Setup

πŸ“‹ Requirements

  • Tauri - make sure the pre-requisites are installed such as Rust.
  • NodeJS - use any that is latest or node 20+
  • pnpm - project uses pnpm as package manager for the frontend.

πŸ› οΈ Development

Install dependencies for the Vue.js frontend using pnpm

pnpm install

Make sure to build and copy the dummy game binary from src-win and is add it on tauri application's "resources" folder.

pnpm build:runner:win && pnpm copy:runner:win

Then run the Tauri dev command to start the development server.

pnpm tauri dev
  • Also, get the list of detecatable games from the Discord API: GET /api/applications/detectable or GET /api/:version/applications/detectable and place the JSON file in src/assets/gamelist.json

Other Thoughts

The Discord's RPC server and Rich Presence

There is also an experimental action like Discord RPC functionality along the selected game. It connects to Discord's RPC Gateway to send Activity updates for the selected game using its App ID, even if the game is not actually running. (This is Rich Presence only so Quests will not detect it)

(This may not work for some time, as Discord updates their RPC and SDK. The syntax I used in the Rust code may not be updated, as it is not one of the main focus of this app.)

Though this is functional as it uses Discord Rich Presence, what happens is it uses the App ID of some App on Discord and connects it to the RPC.
See: Discord Developer Docs – Creating an App

For example, the App ID for Overwatch is 356875221078245376, and we use it with something like discordjs/rpc.

// Set this to your Client ID.
const clientId = '356875221078245376'; // This is Overwatch's App ID on Discord, not one I created.
DiscordRPC.register(clientId);

const rpc = new DiscordRPC.Client({ transport: 'ipc' });
const startTimestamp = new Date();

// You will see "Verified Overwatch" on Discord Activity with custom details.
rpc.setActivity({
  details: `Bleet bleet`,
  state: 'in bleet bleet party',
  startTimestamp,
});

This may not be the intended use of Discord's RPC and may violate their Terms of Service.
I am not entirely sure if you can use others' App IDs other than the ones you own in the Discord Developer Dashboard for the application you are developing. Use this feature at your own risk.

Disclaimer

This tool is intended for educational purposes and personal use. Please respect Discord's terms of service, partners, game publishers and advertisers rights when using this application.

The creators and maintainers of this project are not liable for any damages, account suspensions, or other consequences that may arise from using this software. Use at your own risk.

Discord is a registered trademark of Discord Inc. It is referenced on this open-source project for descriptive and definition purposes only and does not imply any affiliation, sponsorship, or endorsement by Discord Inc in any way.


License

MIT LicenseΒ© Mark Terence Tiglao - 2025


About

A Windows desktop application to complete quests on Discord without installing the full actual games.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •