📦nyxxbit / discord-quest-completer
← 返回首页
Auto-complete every Discord Quest in seconds. Paste one script, get all rewards. Resilient module loader, auto-claim, adaptive speed. No installs, no tokens, no dependencies.
⚖️ MIT#discord-automation#discord-orbs#discord-quests#discord-rewards#javascript📅 创建于 2025-12-19🔄 更新于 2026-10-20
🔗 GitHub JavaScript

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有

Orion

Version Stars License

Completes Discord Quests without playing them. It reads the quests you're eligible for, tells Discord you're doing the thing the quest asks for, and waits for Discord to credit the progress.

It handles all five quest types: play a game, stream a game, watch a video, join an activity, and earn an achievement inside an activity. That last one is the reason this project exists, and none of the other tools listed at the bottom of this page do it.

Two ways to run it. A single userscript you paste into DevTools, or a Vencord plugin that starts with Discord. Same engine, kept in sync, in this repo.

[!CAUTION] Discord has been enforcing against quest automation since April 2026. People have had system messages land on their account after running automation, any automation, not only this. That is the trade you are making.

The one case reported here with details attached, #59, was a 14 day quest restriction after four to five weeks of consistent use: a system notification citing quest automation, quests locked, and nothing else on the account visibly touched. Read that last part narrowly: the datamine account below reports an Account Standing violation attached to these, and a strike on the account record is not something the person holding the account would necessarily see. Orion reads that state (questAccessSuspendedUntil) and stops with the date rather than failing quietly. One report is not a pattern, and nothing stops Discord from acting on the whole account instead. Assume it can.

A second and much larger data point since then, from outside this repo: r/DiscordQuests ran a suspension megathread in late August 2026 for a wave of Quest Access suspensions carrying the violation string "Inauthentic Quest Completion". The penalty is not confined to quests. @WumpusCentral, which datamines the client, reported on 26 August that the suspensions land along with an Account Standing violation, which is the account-wide record, and a named violation is exactly what appears there. Nobody outside Discord has a settled number for how long the lock lasts: the leaked client code read up to 10 days, @WumpusCentral and the one detailed report here both say 14, and the megathread says 15. What people reported there, none of it measured by anyone outside Discord: scripts and completer tools were caught, renamed executables and custom paths were caught, several people who played normally were caught and later had the flag rolled back, and one moderator's reading was that finishing a game at exactly the quest duration and closing it immediately is part of what gets flagged. Set against that, other people in the same thread have automated quests for a year with nothing landing on them. Enforcement is real, it is automated, and it does not reach everyone at the same rate.

A suspension locks the quest surface on desktop for every task type, video included. It is enforced in the UI only: nothing on the request path consults it. Orion stops anyway, because an account Discord has already flagged and told to stop, still sending desktop heartbeats, is the loudest thing this tool could possibly do.

On fingerprints. Discord Previews reported in August 2026 that Discord has been building "executable fingerprints" among new systems for detecting who automates quests. The heartbeat has carried an executable_fingerprint field for longer than that: a 192 byte native attestation that exists only because a real binary is running. Orion sends none, because a spoofed game has no process to attest, and Discord accepts the heartbeat without it. Absence is a state real clients also produce, so it is not by itself proof of anything, while an invented value would fail whatever verification exists and be far louder than sending nothing. It is the one field in the heartbeat that cannot be produced without the real game running, and no amount of client side work changes that.

A telemetry blocker does not hide this, and it is worth saying because the belief is out there. People on r/DiscordQuests have proposed that running under a client mod with analytics blocking (Vencord's NoTrack and similar) stops Discord seeing how quests are completed. It does not, and someone in that thread reported being flagged nine days into doing exactly that. Blocking analytics stops the product telemetry, the track events and the recaps. Quest progress does not travel on that channel: it travels on the quest heartbeat, the functional request that has to arrive for progress to be credited, and that is the request carrying the executable fields above. Blocking telemetry silences the channel that was not accusing you and keeps the one that is.

The achievement bypass is the riskiest part of this tool, by a distance. To complete an ACHIEVEMENT_IN_ACTIVITY quest it runs a real OAuth2 authorization against the quest's application on your account (scopes identify applications.commands applications.entitlements), mints a proxy ticket, posts forged progress to the activity backend on discordsays.com, then revokes the grant it created. That is forging progress with your logged-in account, which is precisely the behaviour being enforced against. It asks before every authorization: the userscript shows a confirm dialog, the plugin keeps it behind a setting that is off until you turn it on. What goes to discordsays.com is the app's OAuth code, the proxy ticket, and a progress number. Never your token, email, or password. If you would mind losing the account, don't run this on it.

Which download you want

The latest release ships four files and most people need one or two of them.

File What it is Who it's for
index.js The userscript. Paste into DevTools, no install. Anyone comfortable opening the console. Needs Vencord on Discord Stable, see below.
orion-relay-vX.zip A small localhost HTTP listener on 127.0.0.1:43210. PowerShell and Python versions. Only if you want achievement quests and you're using the userscript without the plugin. Explained under Achievement quests.
orion-vencord-bundle-vX.zip Copies a prebuilt Vencord over an existing Vencord install. INSTALL.cmd, no build tools. Someone non-technical who already has Vencord and wants this working in one double-click. Freezes their Vencord version, see the note below.
orion-devbuild-installer-vX.zip Builds Vencord from source with the plugin in it, as a real git clone. Same person, but they want Vencord to keep auto-updating. Takes 5 to 15 minutes and downloads roughly 300 MB. Pulls Node 22 and Git via winget if missing.

The two installers exist because copying a prebuilt Vencord over someone's install has to disable Vencord's updater to be safe. orion-vencord-bundle accepts that and freezes the version. orion-devbuild-installer avoids it by building from a git checkout, so Vencord updates itself normally and the plugin is recompiled back in each time. Both are Windows only and both include a README.

If you already build Vencord yourself, skip the installers and see docs/VENCORD-PLUGIN.md. With nin0's UserpluginInstaller, paste this repo's URL into its Install Plugin field and it clones, builds, and self-updates from there.

Quick start, userscript

  1. Open Discord. Canary has the console enabled already.
  2. Ctrl + Shift + I, Console tab.
  3. Paste index.js and press Enter.

A quest picker appears. Choose what to run and hit start. Shift + . hides and shows the dashboard, and STOP ends the run and undoes everything it patched.

Enabling the console on Discord Stable Close Discord, edit `%appdata%/discord/settings.json`:
{ "DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING": true }
Restart Discord.

What it does per quest type

Orion reads Discord's own webpack stores and drives Discord's own authenticated API client. It does not talk to any server of ours; there isn't one.

Quest task How it's completed
PLAY_ON_DESKTOP Injects a fake running process into RunningGameStore, built from the app's real metadata. Discord then sends the quest heartbeats itself and Orion reads the progress off the replies.
STREAM_ON_DESKTOP Does not work. Same idea, plus a spoofed getStreamerActiveStreamMetadata, but Discord checks two other things first and the quest never gets a heartbeat. See below.
WATCH_VIDEO, WATCH_VIDEO_ON_MOBILE Posts video progress timestamps on a randomized interval, with the fractional values a real player would send.
PLAY_ACTIVITY Heartbeats against a voice channel stream key.
ACHIEVEMENT_IN_GAME Not possible. The achievement is earned in the retail game with the game linked to your account, and nothing in Discord can stand in for that. Named in the log and skipped.
ACHIEVEMENT_IN_ACTIVITY Tries the heartbeat first. Discord rejects those with a 403, because the activity backend validates them rather than the client, so it falls back to the OAuth path described below.

Where the quest's application id lives moved in July 2026, from config.application.id to per task at config.taskConfigV2.tasks.<KEY>.applications[0].id. Reading the old path fails silently rather than loudly, which is what broke every tool in this space at once. See #43.

Stream quests

Before Discord reads the metadata Orion fakes, it requires that you are really Going Live and that at least one other person is in the voice channel with you. Faking the third check alone leaves the first two failing, so no heartbeat is ever opened and the task aborts on its 90 second watchdog instead of completing. Measured on Stable 1.0.9255 and Canary 1.0.1148. The reasoning is in [docs/ARCHITECTURE.md](https://github.com/nyxxbit/discord-quest-completer/blob/HEAD/docs/ARCHITECTURE.md#stream_on_desktop-do

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR