#discord-rich-presence #rich-presence #discord #ipc

rpcdiscord

A simple, cross-platform crate for interfacing with Discord's IPC

2 releases

new 0.2.6 Jan 26, 2025
0.2.5 Jan 26, 2025

#11 in #discord-rich-presence

Download history 172/week @ 2025-01-22

172 downloads per month
Used in tauri-plugin-drpc

MIT license

27KB
525 lines

Discord Rich Presence

crates.io

Fork of discord-rich-presence crate Changes:

  • Added support for Deserialize trait for structures

A simple, cross-platform crate to connect and send data to Discord's IPC. Special attention is given to sending rich presence data.

Example

use discord_rich_presence::{activity, DiscordIpc, DiscordIpcClient};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut client = DiscordIpcClient::new("<some application ID>")?;

    client.connect()?;
    client.set_activity(activity::Activity::new()
        .state("foo")
        .details("bar")
    )?;
    client.close()?;

    Ok(())
}

Running example on the CLI

The repository comes with an example you can run with cargo to set a dummy activity. Just provide a valid Client ID as the argument:

cargo run --example presence <CLIENT_ID>

Dependencies

~1–2MB
~42K SLoC