A Rust library to deal with Discord Activity Rich Presence
Find a file
2025-06-08 00:13:45 +03:00
src readme update 2025-06-07 23:51:22 +03:00
.gitignore Added .gitignore to project 2023-12-29 02:49:17 +01:00
Cargo.toml unix-systems support 2025-06-07 23:02:22 +03:00
LICENSE Обновить LICENSE 2025-03-18 08:58:22 +00:00
README.md readme update 2025-06-08 00:12:28 +03:00

Localizations

EN | RU

Rust Discord Activity

Простая Rust библиотека для управления Discord RPC для Windows, Linux и MacOS

Автор идеи

Установка

cargo add --git https://git.amok.dev/AmokDev/rust-discord-rpc

Как использовать

  1. Создайте новый DiscordClient
  2. Создайте объект Activity и задайте нужные данные, используя предоставленные структуры
  3. Создайте новую полезную нагрузку с вашей активностью
  4. Отправьте вашу полезную нагрузку через DiscordClient

Пример

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:

Discord Rich Presence

Спасибо за поддержку

Тестерам

Windows MacOS Linux
AmokDev (я) hellkarm doxbiner