From 269bb9ab430a2664293f507f1c47210e71fbcbc5 Mon Sep 17 00:00:00 2001 From: AmokDev Date: Sun, 8 Jun 2025 00:14:54 +0300 Subject: [PATCH] update readme --- README_EN.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 README_EN.md diff --git a/README_EN.md b/README_EN.md new file mode 100644 index 0000000..4d7b510 --- /dev/null +++ b/README_EN.md @@ -0,0 +1,63 @@ +# Localizations +EN | [RU](https://git.amok.dev/AmokDev/rust-discord-rpc/src/branch/master/README.md) + +# Rust Discord Activity +_A lightweight Rust library to control Discord Rich Presence for Windows, Linux and MacOS_ + +[Author of the idea](https://github.com/DylanCa/rust-discord-activity) + +## Installation +```bash +cargo add --git https://git.amok.dev/AmokDev/rust-discord-rpc +``` + +## How to use +1. Instantiate a new DiscordClient +2. Create your Activity and set desired data using provided structs +3. Create a new Payload with your Activity +4. Send your Payload through the DiscordClient + +## Example +```rust +let mut client = DiscordClient::new(""); + +let _ = client.connect(); + +let limg = Some(String::from("https://placehold.co/600x400/png")); +let simg = Some(String::from("https://placehold.co/200x100/png")); +let asset = Asset::new(limg, None, simg, None); +let now_in_millis = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_millis(); +let timestamp = Timestamp::new(Some(now_in_millis - 10000), None); + +let party = Party::new(None, Some((2, 4))); +let mut button_vec = vec![]; +button_vec.push(Button::new("First Button".into(), "https://google.com".into())); +button_vec.push(Button::new("Second Button".into(), "https://yahoo.com".into())); + +let mut activity = Activity::new(); + +activity + .set_state(Some("This is State".into())) + .set_activity_type(Some(ActivityType::LISTENING)) + .set_details(Some("This is Details".parse().unwrap())) + .set_timestamps(Some(timestamp)) + .set_assets(Some(asset)) + .set_party(Some(party)) + .set_instance(Some(true)) + .set_buttons(Some(button_vec)); + +let payload = Payload::new(EventName::Activity, EventData::Activity(activity)); + +let _ = client.send_payload(payload); + +``` + +This sets-up a new Activity for the current Discord user: + +Discord Rich Presence + +# Thanks for support +## Testers +| Windows | MacOS | Linux | +|---------------|-------------|----------| +| AmokDev (me) | hellkarm | doxbiner | \ No newline at end of file