Skip to Content
DocumentationDiscord RPC

Discord Rich Presence (RPC)

OSMV includes a pure C++20 Discord IPC client (\\.\pipe\discord-ipc-0..9 on Windows and $XDG_RUNTIME_DIR/discord-ipc-0..9, Flatpak, Snap, and /tmp sockets on Linux) with zero external RPC library dependencies.


Key Features

  • Listening Activity (type: 2): When music is playing, OSMV displays a Listening activity (status_display_type: 1) showing the track title on line 1, by Artist on line 2, and the album name on line 3 only when available (without duplicating the artist name).
  • Automated Album Artwork: Queries the iTunes Search API for 500x500 artwork, strips YouTube " - Topic" channel suffixes when searching, verifies artist matching to avoid mismatched covers, caches up to 32 recent lookups (LRU), and falls back to HTTPS art_url or your configured large_image_key.
  • Live Health & Error Detection: Monitors pipe status continuously, verifies SET_ACTIVITY replies from Discord (surfacing errors cleanly in the GUI status pill), and uses UTF-8-safe 128-byte truncation.
  • Custom Idle Status: Displays your custom details, state, and idle Art Assets when no music is playing or when music integration is unchecked.

How to Setup

  1. Open the Discord Developer Portal  and create an Application (e.g., OSMV).
  2. Copy the Application ID (Client ID) and paste it into Application Client ID in the Discord RPC tab.
  3. (Optional) Under Rich Presence -> Art Assets, upload images matching your configured keys:
    • Fallback cover key (e.g., placeholder or osmv_logo)
    • Playback status badges: playing, paused, stopped
  4. Enable Discord RPC; OSMV connects automatically and persists your configuration.

Troubleshooting Visibility

If OSMV displays Connected to Discord but nothing appears on your profile:

  • Ensure your Discord status is not set to Invisible (Discord hides Rich Presence while Invisible).
  • Check Discord User Settings -> Activity Privacy and make sure Share my detected activities with others is enabled.
  • Click your avatar in the bottom-left corner of Discord to inspect your full activity card.
Last updated on