rust_discord_activity/models/client/
payload.rs

1use crate::models::client::event::{EventData, EventName};
2use serde::Serialize;
3
4/// List of OpCode to send to Discord App through IPC.
5pub enum OpCode {
6    HANDSHAKE,
7    MESSAGE,
8}
9
10/// Payload object used to encapsulate data to send to Discord Client.
11#[derive(Serialize, Debug)]
12pub struct Payload {
13    pub event_name: String,
14    pub event_data: EventData,
15}
16
17impl Payload {
18    pub fn new(event_name: EventName, event_data: EventData) -> Self {
19        Self {
20            event_name: event_name.as_string(),
21            event_data,
22        }
23    }
24}