diff --git a/src/types/config/types/subconfigs/defaults/guild.rs b/src/types/config/types/subconfigs/defaults/guild.rs index 966c7af..a709f82 100644 --- a/src/types/config/types/subconfigs/defaults/guild.rs +++ b/src/types/config/types/subconfigs/defaults/guild.rs @@ -1,13 +1,15 @@ use serde::{Deserialize, Serialize}; +use crate::types::{ExplicitContentFilterLevel, MessageNotificationLevel}; + #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct GuildDefaults { pub max_presences: u64, pub max_video_channel_users: u16, pub afk_timeout: u16, - pub default_message_notifications: u8, - pub explicit_content_filter: u8, + pub default_message_notifications: MessageNotificationLevel, + pub explicit_content_filter: ExplicitContentFilterLevel, } impl Default for GuildDefaults { @@ -16,8 +18,8 @@ impl Default for GuildDefaults { max_presences: 250_000, max_video_channel_users: 200, afk_timeout: 300, - default_message_notifications: 1, - explicit_content_filter: 0, + default_message_notifications: MessageNotificationLevel::OnlyMentions, + explicit_content_filter: ExplicitContentFilterLevel::Disabled, } } } diff --git a/src/types/entities/guild.rs b/src/types/entities/guild.rs index eb04322..1fe235b 100644 --- a/src/types/entities/guild.rs +++ b/src/types/entities/guild.rs @@ -346,6 +346,7 @@ pub struct VoiceRegion { } #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] +#[cfg_attr(feature = "sqlx", derive(sqlx::Type))] #[repr(u8)] #[serde(rename_all = "SCREAMING_SNAKE_CASE")] /// See @@ -356,6 +357,7 @@ pub enum MessageNotificationLevel { } #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] +#[cfg_attr(feature = "sqlx", derive(sqlx::Type))] #[repr(u8)] #[serde(rename_all = "SCREAMING_SNAKE_CASE")] /// See @@ -367,6 +369,7 @@ pub enum ExplicitContentFilterLevel { } #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] +#[cfg_attr(feature = "sqlx", derive(sqlx::Type))] #[repr(u8)] #[serde(rename_all = "SCREAMING_SNAKE_CASE")] /// See @@ -380,6 +383,7 @@ pub enum VerificationLevel { } #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] +#[cfg_attr(feature = "sqlx", derive(sqlx::Type))] #[repr(u8)] #[serde(rename_all = "SCREAMING_SNAKE_CASE")] /// See @@ -390,6 +394,7 @@ pub enum MFALevel { } #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] +#[cfg_attr(feature = "sqlx", derive(sqlx::Type))] #[repr(u8)] #[serde(rename_all = "SCREAMING_SNAKE_CASE")] /// See @@ -402,6 +407,7 @@ pub enum NSFWLevel { } #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] +#[cfg_attr(feature = "sqlx", derive(sqlx::Type))] #[repr(u8)] #[serde(rename_all = "SCREAMING_SNAKE_CASE")] /// See diff --git a/src/types/events/guild.rs b/src/types/events/guild.rs index 0c6bb05..89e4a75 100644 --- a/src/types/events/guild.rs +++ b/src/types/events/guild.rs @@ -29,6 +29,7 @@ pub struct GuildCreate { pub json: String, } +#[cfg(feature = "client")] impl UpdateMessage for GuildCreate { fn id(&self) -> Option { match &self.d { @@ -89,6 +90,7 @@ pub struct GuildUpdate { impl WebSocketEvent for GuildUpdate {} +#[cfg(feature = "client")] impl UpdateMessage for GuildUpdate { fn id(&self) -> Option { Some(self.guild.id) @@ -107,6 +109,7 @@ pub struct GuildDelete { pub json: String, } +#[cfg(feature = "client")] impl UpdateMessage for GuildDelete { fn id(&self) -> Option { Some(self.guild.id)