rpcdiscord

Crates.iorpcdiscord
lib.rsrpcdiscord
version0.2.6
created_at2025-01-26 16:00:51.082893+00
updated_at2025-01-26 16:01:52.489822+00
descriptionA simple, cross-platform crate for interfacing with Discord's IPC
homepage
repositoryhttps://github.com/smokingplaya/rpcdiscord
max_upload_size
id1531475
size34,259
Nikita (smokingplaya)

documentation

https://docs.rs/rpcdiscord

README

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>
Commit count: 77

cargo fmt