Skip to content
tomgksPublic

About

Keeps your Discord client mod patched after updates

Topics

Resources

Stars

20 stars

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

Repository files navigation

PatchCord

PatchCord

Keeps your Discord client mod installed. Discord wipes client mods every time it auto-updates; PatchCord sits in the tray, notices when an install is running unpatched, re-applies your mod, and restarts Discord.

Works with Vencord, Equicord, and BetterDiscord (pick one in Options). OpenAsar can be kept installed alongside any of them.

Screenshots

Status Options
Status Options

How it works

It reproduces what each mod's installer does, then re-does it after an update wipes it:

  • Vencord / Equicord: rename resources\app.asar to _app.asar and write a small stub app.asar that requires the mod's entry file. The two mods no longer lay their files out the same way, so both are handled: Vencord's %APPDATA%\Vencord\dist\patcher.js, and Equicord's %APPDATA%\Equicord\equicord.asar (Equilotl now ships a single bundled asar and writes no dist folder; the older dist\patcher.js layout still works too).
  • BetterDiscord: overwrite modules\discord_desktop_core\index.js so it requires %APPDATA%\BetterDiscord\data\betterdiscord.asar.

It reuses the files each mod already put on disk, so there's nothing to download for the mods themselves. If the mod you picked isn't installed, PatchCord leaves Discord alone and shows a button to that mod's installer.

OpenAsar is optional and off by default. When on, it's downloaded from OpenAsar's GitHub releases (cached locally) and re-applied under whichever mod you use.

Install

Download PatchCord.exe from Releases and run it. It lives in the tray and keeps your mod patched. To have it open automatically when you sign in to Windows, turn on Run at startup in the Options tab.

Build

Needs the .NET 10 SDK. From the repo root:

powershell -ExecutionPolicy Bypass -File publish.ps1

This writes a self-contained publish\PatchCord.exe (~66 MB) that runs without a separate .NET install. For development: dotnet build src, or run PatchCord.exe --selftest to build the UI and exit.

Pause while gaming

Re-patching restarts Discord, which steals focus — jarring if you're mid-game. So by default PatchCord holds the patch while a fullscreen game or app is running, and applies it the moment you leave: while something is held it listens for the foreground window changing rather than waiting out the check interval. The status line reads Waiting while it's holding. Turn it off with Pause while gaming in Options if you'd rather it patch immediately.

Detection uses the shell's own notification state (the signal Focus Assist and Game Mode use for fullscreen apps), plus a check for a focused chromeless window covering the whole monitor to catch borderless-fullscreen games. Ordinary maximised windows don't count.

Notes

  • Windows only.
  • Idle CPU is near zero; resident memory is the usual WPF range (~120-210 MB).
  • The check interval runs from 5 seconds to 24 hours. The slider steps through presets; the box under it takes anything you type (45s, 10m, 2h, 1h30m).
  • config.json and patchcord.log are written next to the exe (not tracked in git).

Credits

The asar patch and OpenAsar logic are ported from the Vencord Installer; the BetterDiscord injection from BetterDiscord's scripts/inject.ts. PatchCord is not affiliated with Vencord, Equicord, BetterDiscord, or OpenAsar. OpenAsar is by GooseMod (AGPL-3.0); use it at your own risk.

GPL-3.0. See LICENSE.

About

Keeps your Discord client mod patched after updates

Topics

Resources

Stars

20 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages