A customizable Discord Rich Presence application powered by a custom cross-platform IPC core.
Richcord is a customizable Discord Rich Presence application that provides fine-grained control over your Discord activity without unnecessarily complicating the user experience.
Richcord uses a custom, platform-agnostic IPC implementation to communicate directly with the Discord desktop client.
Richcord can be installed either through npm or by downloading a standalone executable from the GitHub Releases.
Discord Desktop must be installed and running for Richcord to communicate with Discord.
The npm package provides both the Richcord Core API and the Richcord CLI.
npm install -g richcord
Verify the installation:
richcord --version
You can then use Richcord directly from your terminal:
richcord --help
If you are building an application on top of Richcord Core:
npm install richcord
Then import the Core API:
import { RichcordClient } from "richcord";
Richcord is an ES modules only package.
Download the latest richcord.exe from the GitHub Releases.
The executable is self-contained and does not require Node.js to be installed.
You can place the executable somewhere on your system and add its directory to your PATH to use the richcord command globally.
Verify the installation:
richcord --version
Download the latest richcord-linux-x64 executable from the GitHub Releases.
The executable is self-contained and does not require Node.js to be installed.
Make it executable:
chmod +x richcord-linux-x64
You can then run it directly:
./richcord-linux-x64 --version
To use the richcord command globally, place or symlink the executable into a directory included in your PATH.
For example:
sudo install richcord-linux-x64 /usr/local/bin/richcord
Then:
richcord --version
The following examples assume that Richcord is available as the richcord command through either the npm installation or a standalone executable.
Create an application through the Discord Developer Portal and copy its Application ID / Client ID.
Then run:
richcord config
richcord set
This interactively configures your activity, including:
richcord start
richcord status
richcord stop
To clear the currently active Rich Presence without deleting your saved configuration:
richcord clear
Run richcord --help at any time to see all available commands.
| Command | Description |
|---|---|
richcord |
Display basic information |
richcord help |
Display available commands |
richcord version |
Display the installed version |
richcord config |
Configure Richcord |
richcord set |
Configure Rich Presence |
richcord start |
Start Rich Presence |
richcord stop |
Stop the running instance |
richcord clear |
Clear the active Rich Presence |
richcord reset |
Reset saved configuration |
richcord status |
Show current status |
richcord update |
Check for a newer release |
Global options:
-h, --help Show help
-V, --version Show version
Richcord consists of two primary layers:
┌───────────────────────┐
│ CLI │
│ User-facing app │
└───────────┬───────────┘
│
▼
┌───────────────────────┐
│ Core │
│ Public API + IPC │
└───────────┬───────────┘
│
▼
┌───────────────────────┐
│ Discord Desktop │
│ IPC Client │
└───────────────────────┘
The Core handles Discord IPC, transports, handshaking, serialization, validation, connection management, and the public API.
The CLI consumes the Core's public API and contains no Discord IPC implementation.
The Core is frontend-independent and can be consumed by other applications through the npm package.
Clone the repository:
git clone https://github.com/SpoiledUnknown/Richcord.git
cd Richcord
Install dependencies:
npm install
Build the project:
npm run build
Check the project:
npm run check
Run the CLI during development:
npm run dev
Generate API documentation:
npm run build:docs
The project is written in TypeScript and consists of a reusable Core and a CLI frontend. The CLI consumes the Core's public API rather than implementing Discord IPC itself.
Discord IPC, transports, handshaking, serialization, and other low-level RPC functionality belong to the Core and should not be implemented directly in the CLI.
For complete API documentation:
📖 Read the Richcord Documentation
For downloads and previous releases:
For the published npm package:
Richcord is licensed under the MIT License.