Skip to content

Latest commit

 

History

77 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-Rich Presence Customizer

Multi-profile Discord Rich Presence manager. Up to 5 profiles, each with its own Client ID. Toggle one active at a time.

Inspired by CustomRP — reimagined with profile tabs, system tray + auto-start, and drop-in compatibility with your existing CustomRP .crp presets. Switch between presences with a single click. No accounts, no telemetry, fully local.

Flagship Features

Custom About — Override the Discord App Description from the App

Every profile can rewrite its own Discord Application Description field (the one usually edited at Dev Portal → General Information) without ever leaving MultiRP. Paste your bot token once — stored encrypted via your OS keychain (DPAPI on Windows, Keychain on macOS, libsecret on Linux) using Electron's safeStorage, never written to plaintext on disk. Edit the text, hit Push to Discord now, and MultiRP fires a PATCH /applications/@me to update the live description. Auto-pushes on profile activate too, with smart dedupe so it's a no-op when nothing changed and a 30-second rate-limit guard so rapid switches never get you 429'd. Discord typically takes 5–15 minutes to refresh the description on activity cards.

Profile Themes — Discord-Nitro-Style Customization

Every profile gets its own custom theme — accent color, hover color, surfaces, borders, text, and an optional gradient. The whole app re-skins the moment you activate that profile, like Nitro themes on steroids — except yours, fully editable, with live color pickers and a hex input for every slot. Built-in presets (Spiritual, Dragon, Ocean, Sakura) get you started; custom pickers let you go anywhere from there. CustomRP has zero theming.

Idle Detection — Auto-Switch When You're Away

MultiRP watches the OS lock-screen, system suspend, and (optionally) raw input idle time. When you go away, it snaps to your designated Idle Profile; the moment you come back, it returns to whatever was active before — instantly. Works with Discord's own Idle / DnD / Invisible status flow without conflicting with it.

Game Detection + Always-On-Top Overlay

MultiRP can scan your running processes (tasklist on Windows, ps on Mac/Linux) and auto-activate a profile when a tracked game launches — map Genshin.exe → Genshin Impact profile, RobloxPlayerBeta.exe → Roblox profile, and so on. Pair it with the Always-On-Top overlay (z-level screen-saver) so MultiRP floats above borderless-fullscreen games like a card stack — first in the stack, always reachable. Optional: only pin while a tracked game is actually running.

⌨ Custom Hotkeys — Fully Customizable Globals

Nine global shortcut actions you can bind to anything: Cycle next profile, Jump to slots 1–5, Toggle Auto Presence, Show window, Toggle always-on-top. Click-to-record capture, conflict detection, and CommandOrControl normalization so the same binding works on Mac, Windows, and Linux. Hotkeys fire even when MultiRP is hidden in the tray.

Auto Presence — Schedule, Rotate, or Shuffle

A flagship that CustomRP cannot do because CustomRP only has one profile. With 5 profiles, MultiRP unlocks real automation. Pick a mode and let your presence run itself:

  • Rotation — cycle through selected profiles in a custom order on any interval (seconds, minutes, hours, or days)
  • Shuffle — pick a random profile from your selected set on each interval
  • Schedule — activate specific profiles on specific days and times of week (e.g. "Streaming" Mon–Fri 19:00–23:00, "Work" weekdays 09:00–17:00)

Manual activation politely pauses the engine with a one-click Resume Auto affordance. Optional system notifications when switches happen. Drag-to-reorder rotation. Live next-switch countdown. Set it once and forget it.

Encrypted Profile Export — Carry Your Bot Tokens (v1.9.9)

Move a profile to another machine without regenerating the bot token in the Discord developer portal. Click Secure Export, choose a passphrase, and MultiRP writes a .multirp-secure.json file: profile fields are visible plaintext (so you can audit what's in there), the bot token is encrypted with AES-256-GCM using a key derived via PBKDF2-HMAC-SHA256 (200k iterations) from your passphrase. On the new machine, Secure Import prompts for the passphrase and restores the token straight into the OS keychain — the renderer never sees it in plaintext. Wrong passphrase or any tampering with the file fails closed with a clear error.

Hyperlink Fields — Clickable Details, State, and Images (v1.9.9.1)

Discord supports turning your Details, State, and Large/Small image into clickable links — not just the two preset buttons. MultiRP exposes that with a subtle 🔗 toggle next to each of those four fields: click to expand a URL input, paste an https:// link, and the corresponding piece of your presence becomes a hyperlink for everyone who views your profile. Inside MultiRP the live preview and the View as others popout both render the links as clickable too, so you can sanity-check the experience before pushing. Validation accepts https:// (recommended), soft-warns on http://, and hard-rejects everything else — no javascript: or data: URIs sneak through. Because discord-rpc 4.0.1 strips unknown fields, MultiRP bypasses its setActivity() wrapper and sends the raw SET_ACTIVITY RPC command itself, so the URL fields actually reach Discord. CustomRP's .crp format predates these fields — export to .crp silently drops them and round-trips fine through .json.

CustomRP File Compatibility

MultiRP reads and writes CustomRP's native .crp format — drag your existing presets straight in, no conversion step. Export back to .crp and hand them to friends still on CustomRP. Also supports .json (MultiRP native), .csv, .md, and .txt — with smart format detection by both file extension and content sniffing, so renamed files still work.

Multi-Profile Tabs

Up to 5 profiles, each with its own Discord Application Client ID. Toggle which one is live with a single click — perfect for creators juggling multiple personas, projects, or moods.

Auto-Start & System Tray

Launch with your OS, start minimized to the tray, and right-click the tray icon to activate/deactivate any profile without opening the window. Behaves like a real desktop app, not a tab you forgot about.

Live Editing

Live preview while you type, live push to Discord without disconnecting, and live character counters that respect Discord's hard 128-char and 32-char-button limits.

"View as Others See You" Popout

Discord deliberately hides your own buttons from your own profile card — you can never see what others see when they look at your presence. MultiRP solves that. Click View as others on the preview pane to open a separate, frameless window styled like another user's Discord client looking at your profile, complete with avatar, banner, ticking elapsed timer, and working buttons that actually open in your browser. Updates in real time as you edit.

Full Feature List

  • 5 profile tabs, each with its own Discord Application Client ID
  • Toggle any profile live — only one runs at a time, instant switch
  • Live preview + live update — change fields and push to Discord without disconnecting
  • CustomRP .crp import/export — full two-way compat with existing CustomRP presets
  • Multi-format profile transfer.crp, .json, .csv, .md, .txt with auto-detection
  • System tray with right-click activate/deactivate per profile
  • Auto-start at login + start minimized (togglable, opt-in)
  • Close-to-tray instead of quitting (togglable)
  • 128-char limits with live counters on Details, State, and tooltip fields
  • 2 buttons per profile with URL validation — clickable for other users on Discord
  • Activity types: Playing / Listening to / Watching / Competing in
  • Timestamps: none / elapsed (auto-start) / custom start / custom range
  • Image keys for Large + Small images (uploaded to Discord Dev Portal)
  • Party size indicator
  • Custom About Field — per-profile override of your Discord App Description, with encrypted bot-token storage and auto-push on activate
  • Auto Presence — rotation, shuffle, or scheduled profile switching with custom intervals (seconds → days)
  • Profile Themes — per-profile accent / surface / gradient with presets and full custom color pickers
  • Idle Detection — auto-snap to an Idle profile on lock / suspend / idle, snap-back on activity
  • Game Detection — process scanner auto-activates profiles when tracked games launch
  • Always-On-Top Overlay — float MultiRP above games, with optional auto-pin only while a game is running
  • Custom Hotkeys — 9 global actions, click-to-record, conflict detection, cross-platform
  • In-app update logs with auto-update from GitHub Releases
  • Dark grey UI, no telemetry, no accounts, fully local
  • Auto-saves all profiles to disk

Quick Start

  1. Install Discord (the regular desktop client) and have it running.
  2. Go to discord.com/developers/applications and create one application per profile you want.
  3. (Optional) Upload images under Rich Presence → Art Assets in each app. The asset name is your "image key".
  4. Copy each application's Application ID (Client ID) into a MultiRP profile.
  5. Fill in Details / State / images / buttons. Click Activate.

Buttons appear clickable to other users viewing your profile, not yourself — that's a Discord platform limit, not a bug.

Build From Source

npm install
npm start         # dev run
npm run build:win   # Windows .exe installer
npm run build:mac   # macOS .dmg
npm run build:linux # AppImage + .deb

Outputs go into dist/.

Auto-Build & Release via GitHub Actions

This repo includes .github/workflows/build.yml which builds installers for Windows, macOS, and Linux in parallel whenever you push a tag like v1.0.0. Installers are attached to the GitHub Release automatically.

git tag v1.0.0
git push --tags

Tech

  • Electron 31 (main + preload + renderer with context isolation)
  • discord-rpc for the Discord IPC handshake
  • Plain HTML/CSS/JS renderer (no build step)
  • Profiles persisted to your OS user-data folder

License

Licensed under the Apache License 2.0.

Copyright © 2026 Alarkius Elvya Jay.

You may use, modify, and redistribute MultiRP — including in commercial projects — provided you keep the LICENSE and NOTICE files intact and clearly mark any modifications. The Apache 2.0 license also includes an explicit patent grant: contributors cannot sue downstream users over patent claims on their contributions.

About

A Multi Rich Presence Customizer for your Discord. Made by Alarkius Elvya Jay

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages