Compare commits

..

No commits in common. "226f75327fd207008190782a1f7cf71e37ef024e" and "5ea94e5453a37ab3c9eb277983cab07f43f7675d" have entirely different histories.

123
README.md
View file

@ -1,63 +1,60 @@
# Localizations # Rust Discord Activity
[EN](https://git.amok.dev/AmokDev/rust-discord-rpc/src/branch/master/README_EN.md) | RU _A lightweight Rust library to control Discord Rich Presence for Windows, Linux and MacOS_
# Rust Discord Activity [Author of the idea and 80% code](https://github.com/DylanCa/rust-discord-activity)
ростая Rust библиотека для управления Discord RPC для Windows, Linux и MacOS_
## Installation
[Автор идеи](https://github.com/DylanCa/rust-discord-activity) ```bash
cargo add --git https://git.amok.dev/AmokDev/rust-discord-rpc
## Установка ```
```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
1. Создайте новый DiscordClient 4. Send your Payload through the DiscordClient
2. Создайте объект Activity и задайте нужные данные, используя предоставленные структуры
3. Создайте новую полезную нагрузку с вашей активностью ## Example
4. Отправьте вашу полезную нагрузку через DiscordClient ```rust
let mut client = DiscordClient::new("<application_id>");
## Пример
```rust let _ = client.connect();
let mut client = DiscordClient::new("<application_id>");
let limg = Some(String::from("https://placehold.co/600x400/png"));
let _ = client.connect(); let simg = Some(String::from("https://placehold.co/200x100/png"));
let asset = Asset::new(limg, None, simg, None);
let limg = Some(String::from("https://placehold.co/600x400/png")); let now_in_millis = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_millis();
let simg = Some(String::from("https://placehold.co/200x100/png")); let timestamp = Timestamp::new(Some(now_in_millis - 10000), None);
let asset = Asset::new(limg, None, simg, None);
let now_in_millis = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_millis(); let party = Party::new(None, Some((2, 4)));
let timestamp = Timestamp::new(Some(now_in_millis - 10000), None); let mut button_vec = vec![];
button_vec.push(Button::new("First Button".into(), "https://google.com".into()));
let party = Party::new(None, Some((2, 4))); button_vec.push(Button::new("Second Button".into(), "https://yahoo.com".into()));
let mut button_vec = vec![];
button_vec.push(Button::new("Первая кнопка".into(), "https://google.com".into())); let mut activity = Activity::new();
button_vec.push(Button::new("Вторая кнопка".into(), "https://yahoo.com".into()));
activity
let mut activity = Activity::new(); .set_state(Some("This is State".into()))
.set_activity_type(Some(ActivityType::LISTENING))
activity .set_details(Some("This is Details".parse().unwrap()))
.set_state(Some("Это состояние".into())) .set_timestamps(Some(timestamp))
.set_activity_type(Some(ActivityType::LISTENING)) .set_assets(Some(asset))
.set_details(Some("Это детали".parse().unwrap())) .set_party(Some(party))
.set_timestamps(Some(timestamp)) .set_instance(Some(true))
.set_assets(Some(asset)) .set_buttons(Some(button_vec));
.set_party(Some(party))
.set_instance(Some(true)) let payload = Payload::new(EventName::Activity, EventData::Activity(activity));
.set_buttons(Some(button_vec));
let _ = client.send_payload(payload);
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"/>
Это устанавливает новую активность для текущего пользователя Discord:
# Thanks for support
<img alt="Discord Rich Presence" src="https://imgur.com/gf9pOen.png" width="300"/> ## Testers
| Windows | MacOS | Linux |
# Спасибо за поддержку |---------------|-------------|----------|
## Тестерам | AmokDev (me) | hellkarm | doxbiner |
| Windows | MacOS | Linux |
|---------------|-------------|----------|
| AmokDev (я) | hellkarm | doxbiner |