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}