diff --git a/src/types/entities/voice_state.rs b/src/types/entities/voice_state.rs index dd0ab15..b4d4ae5 100644 --- a/src/types/entities/voice_state.rs +++ b/src/types/entities/voice_state.rs @@ -12,7 +12,7 @@ use crate::types::{ pub struct VoiceState { pub guild_id: Option, pub guild: Option, - pub channel_id: Snowflake, + pub channel_id: Option, pub user_id: Snowflake, pub member: Option, pub session_id: Snowflake, diff --git a/src/types/events/message.rs b/src/types/events/message.rs index 24eb0fa..94d9336 100644 --- a/src/types/events/message.rs +++ b/src/types/events/message.rs @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize}; use crate::types::{ entities::{Emoji, GuildMember, Message, User}, - utils::Snowflake, + utils::Snowflake, PublicUser, }; use super::WebSocketEvent; @@ -32,31 +32,9 @@ pub struct MessageCreate { #[derive(Debug, Serialize, Deserialize, Default)] /// See https://discord.com/developers/docs/topics/gateway-events#message-create-message-create-extra-fields pub struct MessageCreateUser { - pub id: String, - username: String, - discriminator: String, - avatar: Option, - bot: Option, - system: Option, - mfa_enabled: Option, - accent_color: Option, - locale: Option, - verified: Option, - email: Option, - premium_since: Option, - premium_type: Option, - pronouns: Option, - public_flags: Option, - banner: Option, - bio: Option, - theme_colors: Option>, - phone: Option, - nsfw_allowed: Option, - premium: Option, - purchased_flags: Option, - premium_usage_flags: Option, - disabled: Option, - member: GuildMember + #[serde(flatten)] + user: PublicUser, + member: Option } impl WebSocketEvent for MessageCreate {} @@ -67,7 +45,7 @@ pub struct MessageUpdate { message: Message, guild_id: Option, member: Option, - mentions: Option>, // Not sure if this is correct: https://discord.com/developers/docs/topics/gateway-events#message-create + mentions: Option>, } impl WebSocketEvent for MessageUpdate {}