Fix some deserialization errors

This commit is contained in:
kozabrada123 2023-05-27 13:05:36 +02:00
parent 6932e567b7
commit 0fd800c4c2
4 changed files with 12 additions and 12 deletions

View File

@ -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>,
}

View File

@ -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>>,

View File

@ -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>,

View File

@ -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>
}