14 releases
0.2.5 | Sep 28, 2024 |
---|---|
0.2.4 | May 16, 2024 |
0.2.3 | Sep 17, 2022 |
0.2.1 | Jul 7, 2022 |
0.1.7 | Jul 21, 2021 |
#1397 in Web programming
3,081 downloads per month
Used in 14 crates
(11 directly)
26KB
512 lines
Discord Rich Presence
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>
lib.rs
:
This library provides easy access to the Discord IPC.
It provides implementations for both Unix and Windows operating systems, with both implementations using the same API. Thus, this crate can be used in a platform-agnostic manner.
Hello world
use discord_rich_presence::{activity, DiscordIpc, DiscordIpcClient};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut client = DiscordIpcClient::new("<some client id>")?;
client.connect()?;
let payload = activity::Activity::new().state("Hello world!");
client.set_activity(payload)?;
}
Dependencies
~1–2MB
~43K SLoC