#discord #rpc #ipc

discord-rpc-client

A Rust client for Discord RPC

13 releases

0.4.0 Oct 16, 2023
0.3.0 Dec 6, 2018
0.2.4 Dec 4, 2018
0.2.3 Apr 8, 2018
0.1.5 Mar 28, 2018

#57 in HTTP client

Download history 90/week @ 2023-10-31 107/week @ 2023-11-07 114/week @ 2023-11-14 173/week @ 2023-11-21 220/week @ 2023-11-28 103/week @ 2023-12-05 128/week @ 2023-12-12 108/week @ 2023-12-19 234/week @ 2023-12-26 113/week @ 2024-01-02 124/week @ 2024-01-09 107/week @ 2024-01-16 81/week @ 2024-01-23 151/week @ 2024-01-30 101/week @ 2024-02-06 191/week @ 2024-02-13

544 downloads per month
Used in 3 crates

MIT license

33KB
872 lines

Build status crates.io crates.io Discord

Discord RPC Client

Discord RPC client for Rust

Installation

Add this to your Cargo.toml:

[dependencies]
discord-rpc-client = "^0.4"

Example

use std::{env, thread, time};
use discord_rpc_client::{Client, Event};

fn main() {
    // Get our main status message
    let state_message = env::args().nth(1).expect("Requires at least one argument");

    // Create the client
    let mut drpc = Client::new(425407036495495169);

    // Register event handlers with the corresponding methods
    drpc.on_ready(|_ctx| {
        println!("ready?");
    });

    // or

    drpc.on_event(Event::Ready, |ctx| {
        println!("READY!");
    });

    // Start up the client connection, so that we can actually send and receive stuff
    drpc.start();

    // Set the activity
    drpc.set_activity(|act| act.state(state_message))
        .expect("Failed to set activity");

    // Wait 10 seconds before exiting
    thread::sleep(time::Duration::from_secs(10));
}

More examples can be found in the examples directory.

Contributions

See CONTRIBUTING.md

Dependencies

~1.4–2.5MB
~48K SLoC