Fix some deserialization errors
This commit is contained in:
parent
21c4d53b28
commit
224b3159a6
|
@ -12,7 +12,7 @@ use crate::types::{
|
|||
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
||||
pub struct Guild {
|
||||
pub id: Snowflake,
|
||||
pub name: String,
|
||||
pub name: Option<String>,
|
||||
pub icon: Option<String>,
|
||||
pub icon_hash: Option<String>,
|
||||
pub splash: Option<String>,
|
||||
|
@ -30,7 +30,7 @@ pub struct Guild {
|
|||
pub explicit_content_filter: Option<u8>,
|
||||
pub roles: Vec<RoleObject>,
|
||||
pub emojis: Vec<Emoji>,
|
||||
pub features: Vec<String>,
|
||||
pub features: Option<Vec<String>>,
|
||||
pub application_id: Option<String>,
|
||||
pub system_channel_id: Option<Snowflake>,
|
||||
pub system_channel_flags: Option<u8>,
|
||||
|
@ -53,8 +53,8 @@ pub struct Guild {
|
|||
pub member_count: Option<u64>,
|
||||
pub presence_count: Option<u64>,
|
||||
pub welcome_screen: Option<WelcomeScreenObject>,
|
||||
pub nsfw_level: u8,
|
||||
pub nsfw: bool,
|
||||
pub nsfw_level: Option<u8>,
|
||||
pub nsfw: Option<bool>,
|
||||
pub stickers: Option<Vec<Sticker>>,
|
||||
pub premium_progress_bar_enabled: Option<bool>,
|
||||
pub joined_at: String,
|
||||
|
@ -70,7 +70,7 @@ pub struct Guild {
|
|||
pub webhooks: Option<Vec<Webhook>>,
|
||||
pub mfa_level: Option<u8>,
|
||||
pub region: Option<String>,
|
||||
pub unavailable: bool,
|
||||
pub unavailable: Option<bool>,
|
||||
pub parent: Option<String>,
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ pub struct User {
|
|||
username: String,
|
||||
discriminator: String,
|
||||
avatar: Option<String>,
|
||||
bot: bool,
|
||||
bot: Option<bool>,
|
||||
system: Option<bool>,
|
||||
mfa_enabled: Option<bool>,
|
||||
accent_color: Option<u8>,
|
||||
|
@ -52,11 +52,11 @@ pub struct User {
|
|||
nsfw_allowed: bool,
|
||||
premium: bool,
|
||||
purchased_flags: i32,
|
||||
premium_usage_flags: i32,
|
||||
premium_usage_flags: Option<i32>,
|
||||
disabled: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub struct PublicUser {
|
||||
pub id: Snowflake,
|
||||
pub username: String,
|
||||
|
@ -66,7 +66,7 @@ pub struct PublicUser {
|
|||
pub banner: Option<String>,
|
||||
pub theme_colors: Option<Vec<u8>>,
|
||||
pub pronouns: Option<String>,
|
||||
pub bot: bool,
|
||||
pub bot: Option<bool>,
|
||||
pub bio: String,
|
||||
pub premium_type: u8,
|
||||
pub premium_since: Option<DateTime<Utc>>,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use crate::types::entities::User;
|
||||
use crate::types::PublicUser;
|
||||
use crate::types::events::WebSocketEvent;
|
||||
use crate::types::interfaces::Activity;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
@ -6,7 +6,7 @@ use serde::{Deserialize, Serialize};
|
|||
#[derive(Debug, Deserialize, Serialize, Default, Clone)]
|
||||
/// See https://discord.com/developers/docs/topics/gateway-events#presence-update-presence-update-event-fields
|
||||
pub struct PresenceUpdate {
|
||||
pub user: User,
|
||||
pub user: PublicUser,
|
||||
pub guild_id: Option<String>,
|
||||
pub status: String,
|
||||
pub activities: Vec<Activity>,
|
||||
|
|
|
@ -71,7 +71,7 @@ pub struct MergedPresenceGuild {
|
|||
|
||||
#[derive(Debug, Deserialize, Serialize, Default)]
|
||||
pub struct SupplimentalGuild {
|
||||
pub voice_states: Vec<VoiceState>,
|
||||
pub voice_states: Option<Vec<VoiceState>>,
|
||||
pub id: String,
|
||||
pub embedded_activities: Vec<serde_json::Value>
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue