Compare commits
2 commits
226f75327f
...
d32174615d
| Author | SHA1 | Date | |
|---|---|---|---|
| d32174615d | |||
| 269bb9ab43 |
1 changed files with 63 additions and 0 deletions
63
README_EN.md
Normal file
63
README_EN.md
Normal file
|
|
@ -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("<application_id>");
|
||||
|
||||
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:
|
||||
|
||||
<img alt="Discord Rich Presence" src="https://imgur.com/gf9pOen.png" width="300"/>
|
||||
|
||||
# Thanks for support
|
||||
## Testers
|
||||
| Windows | MacOS | Linux |
|
||||
|---------------|-------------|----------|
|
||||
| AmokDev (me) | hellkarm | doxbiner |
|
||||
Loading…
Add table
Reference in a new issue