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