# 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(""); 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: Discord Rich Presence # Спасибо за поддержку ## Тестерам | Windows | MacOS | Linux | |---------------|-------------|----------| | AmokDev (я) | hellkarm | doxbiner |