polyphony_types/entities/
voice_state.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4use crate::{
5    entities::{Channel, Guild, GuildMember, User},
6    utils::Snowflake,
7};
8
9/// See https://docs.spacebar.chat/routes/#cmp--schemas-voicestate
10#[derive(Serialize, Deserialize, Debug, Default, Clone)]
11pub struct VoiceState {
12    pub guild_id: Snowflake,
13    pub guild: Option<Guild>,
14    pub channel_id: Snowflake,
15    pub channel: Option<Channel>,
16    pub user_id: Snowflake,
17    pub user: Option<User>,
18    pub member: Option<GuildMember>,
19    pub session_id: Snowflake,
20    pub token: String,
21    pub deaf: bool,
22    pub mute: bool,
23    pub self_deaf: bool,
24    pub self_mute: bool,
25    pub self_stream: Option<bool>,
26    pub self_video: bool,
27    pub suppress: bool,
28    pub request_to_speak_timestamp: Option<DateTime<Utc>>,
29    pub id: Snowflake,
30}