polyphony_types/events/
presence.rs1use serde::{Deserialize, Serialize};
2use crate::entities::User;
3use crate::events::WebSocketEvent;
4use crate::interfaces::Activity;
5
6#[derive(Debug, Deserialize, Serialize, Default, Clone)]
7pub struct PresenceUpdate {
9 pub user: User,
10 pub guild_id: String,
11 pub status: String,
12 pub activities: Vec<Activity>,
13 pub client_status: ClientStatusObject,
14}
15
16#[derive(Debug, Deserialize, Serialize, Default, Clone)]
17pub struct ClientStatusObject {
19 pub desktop: Option<String>,
20 pub mobile: Option<String>,
21 pub web: Option<String>,
22}
23
24impl WebSocketEvent for PresenceUpdate {}