63 lines
No EOL
2.5 KiB
Markdown
63 lines
No EOL
2.5 KiB
Markdown
# Localizations
|
||
[EN](https://git.amok.dev/AmokDev/rust-discord-rpc/src/branch/master/README_EN.md) | RU
|
||
|
||
# Rust Discord Activity
|
||
_Простая Rust библиотека для управления Discord RPC для Windows, Linux и MacOS_
|
||
|
||
[Автор идеи](https://github.com/DylanCa/rust-discord-activity)
|
||
|
||
## Установка
|
||
```bash
|
||
cargo add --git https://git.amok.dev/AmokDev/rust-discord-rpc
|
||
```
|
||
|
||
## Как использовать
|
||
1. Создайте новый DiscordClient
|
||
2. Создайте объект Activity и задайте нужные данные, используя предоставленные структуры
|
||
3. Создайте новую полезную нагрузку с вашей активностью
|
||
4. Отправьте вашу полезную нагрузку через DiscordClient
|
||
|
||
## Пример
|
||
```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("Первая кнопка".into(), "https://google.com".into()));
|
||
button_vec.push(Button::new("Вторая кнопка".into(), "https://yahoo.com".into()));
|
||
|
||
let mut activity = Activity::new();
|
||
|
||
activity
|
||
.set_state(Some("Это состояние".into()))
|
||
.set_activity_type(Some(ActivityType::LISTENING))
|
||
.set_details(Some("Это детали".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);
|
||
|
||
```
|
||
|
||
Это устанавливает новую активность для текущего пользователя Discord:
|
||
|
||
<img alt="Discord Rich Presence" src="https://imgur.com/gf9pOen.png" width="300"/>
|
||
|
||
# Спасибо за поддержку
|
||
## Тестерам
|
||
| Windows | MacOS | Linux |
|
||
|---------------|-------------|----------|
|
||
| AmokDev (я) | hellkarm | doxbiner | |