Skip to content

Stananas/discord-rpc-activity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discord RPC Node MIT

Discord RPC Activity

Multiple Discord Rich Presence activities manager
Static mode (1 activity) · Auto-rotation mode (2+ activities)
Custom buttons, images, details & state — all from a JSON config.


Features

  • Single or multiple activities – 1 entry = static, 2+ = auto-rotation
  • JSON configuration – edit text, buttons, images without touching code
  • Custom buttons – up to 2 clickable buttons per activity
  • Custom images – large + small assets uploaded via Discord Developer Portal
  • Persistent timer – elapsed time carries across rotation switches
  • Clean shutdown – Ctrl+C gracefully disconnects RPC

Prerequisites

  • Node.js 18+
  • Discord Desktop client running

Quick start

git clone https://github.com/Stananas/discord-rpc-activity
cd discord-rpc-activity
npm install

Configuration

1. Create a Discord Application

  1. Go to https://discord.com/developers/applications
  2. Click New Application
  3. Copy the Client ID (OAuth2 > General)
  4. Paste it in config.jsonclientId

2. Upload Assets (Images)

  1. In your Discord Developer Portal app, go to Rich Presence > Art Assets
  2. Click Add Image(s) and upload your images (512×512px recommended)
  3. The filename without extension becomes the key used in config.json

3. Edit the Config

Open config.json and customize your activities:

{
  "clientId": "YOUR_CLIENT_ID",
  "rotationInterval": 15000,
  "activities": [
    {
      "name": "Log label only",
      "details": "Main text line",
      "state": "Secondary text line",
      "largeImageKey": "my_large_image",
      "largeImageText": "Tooltip for large image",
      "smallImageKey": "my_small_image",
      "smallImageText": "Tooltip for small image",
      "buttons": [
        { "label": "Button 1", "url": "https://..." },
        { "label": "Button 2", "url": "https://..." }
      ]
    }
  ]
}
Field Description
details First text line (max 128 chars)
state Second text line (max 128 chars)
largeImageKey Uploaded asset name (without extension)
largeImageText Tooltip shown on large image hover
smallImageKey Uploaded small asset name (bottom-right corner)
smallImageText Tooltip shown on small image hover
buttons Up to 2 buttons (label + HTTPS url)

Usage

# Single activity → static mode
# Multiple activities → auto-rotation mode
npm start

Press Ctrl+C to stop.

Common issues

Buttons don't show on my own profile → Discord doesn't display your own RPC buttons on your profile. Ask a friend to check.

Images don't appear → You haven't uploaded the assets in the Developer Portal (Rich Presence > Art Assets). The key must match the uploaded filename (without extension).

RPC_CONNECTION_TIMEOUT → Discord Desktop isn't running, or the IPC pipe is inaccessible. Make sure Discord is open.

Repository structure

├── config.json       Activity configuration
├── index.js          Main entry (auto-detects static or rotation)
├── LICENSE           MIT license
└── package.json

License

MIT

About

Multiple Discord Rich Presence activities manager : static or rotating status with custom buttons and images, all from a JSON config

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors