Display your live Chess.com matches seamlessly on Discord with zero terminal clutter.
A lightweight, zero-configuration bridge connecting live Chess.com gameplay directly to Discord Rich Presence. It extracts the game state directly from your browser and pipes it through a stealth background daemon compiled into a single native binary.
- Automated Windows Setup: One-click installer with automatic silent boot on Windows startup.
- Zero Terminal Footprint: Runs in the background via Windows Script Host—no open CMD windows.
- Low Resource Usage: Binary compiled natively with Bun, running quietly without heavy runtimes.
- Real-time Game Tracking: Displays active clock
[MM:SS], current mode (Blitz, Bullet, Rapid, Bots), match turn, and side. - Direct Spectate Action: Renders a direct Discord button leading viewers straight to the live match.
- Multi-language Support: Native i18n support across 10 locales configurable via JSON.
Chess.com Live Match (DOM)
│
▼
Chrome Extension (Manifest V3)
└─ content.js (WebSocket Client)
│
│ ws://localhost:3020
▼
Native Stealth Daemon
├─ start-hidden.vbs (Silent Launcher)
└─ chess-rpc.exe (Bun Binary)
│
│ Discord IPC Socket
▼
Discord Rich Presence
- Download
ChessRPC-Setup-1.0.0.exefrom the Latest Release. - Run the setup wizard and ensure "Start automatically with Windows" is selected.
- Download
extension.zipfrom the Latest Release and extract it. - In Chrome, Brave, Edge, or Opera, go to
chrome://extensions/. - Enable Developer mode (top-right corner).
- Click Load unpacked and select the unzipped
extension/folder. - Open Chess.com and start a match.
- Node.js 18+ or Bun
- Inno Setup 6 (for compiling the installer)
- Discord Desktop Client running locally
# Clone the repository
git clone https://github.com/sousa7tz/chess-rpc.git
cd chess-rpc
# Install dependencies
npm install
# Run development server
npm startThe build pipeline terminates stale processes, compiles the standalone native binary via Bun, mirrors localized assets, and generates the Inno Setup executable installer:
npm run buildThe installer will be generated at:
build-installer/ChessRPC-Setup-1.0.0.exe
Modify the active language in config.json:
{
"language": "en"
}| Language | Tag | Language | Tag |
|---|---|---|---|
| English | en |
German | de |
| Portuguese | pt |
Hindi | hi |
| Spanish | es |
Turkish | tr |
| French | fr |
Polish | pl |
| Russian | ru |
Japanese | ja |
chess-rpc/
├── assets/ # Project branding & icons
├── build-installer/ # Output directory for generated setup binaries (ignored)
├── dist/ # Compiled standalone binary and staging files
│ ├── locales/ # Bundled localization dictionaries
│ ├── chess-rpc.exe # Compiled binary daemon
│ ├── config.json # Configuration file
│ └── start-hidden.vbs # Stealth Windows launcher
├── extension/ # Manifest V3 browser extension
│ ├── content.js # DOM scraper & WebSocket dispatch
│ └── manifest.json # Extension manifest
├── locales/ # Raw JSON translation strings
├── config.json # Base application config
├── installer.iss # Inno Setup build recipe
├── package.json # Project metadata & build scripts
└── server.js # Core IPC/WebSocket bridge logic
This is an unofficial open-source utility and is not affiliated with, associated with, authorized by, endorsed by, or officially connected with Chess.com or Discord Inc.
Distributed under the MIT License. See LICENSE for full details.