@@ -38,7 +38,7 @@ public enum GuildFeature: String, Codable {
3838}
3939
4040public struct Guild : GatewayData , Equatable , Identifiable {
41- public init ( id: Snowflake , name: String , icon: String ? = nil , icon_hash: String ? = nil , splash: String ? = nil , discovery_splash: String ? = nil , owner: Bool ? = nil , owner_id: Snowflake , permissions: String ? = nil , region: String ? = nil , afk_channel_id: Snowflake ? = nil , afk_timeout: Int , widget_enabled: Bool ? = nil , widget_channel_id: Snowflake ? = nil , verification_level: VerificationLevel , default_message_notifications: MessageNotifLevel , explicit_content_filter: ExplicitContentFilterLevel , roles: [ DecodableThrowable < Role > ] , emojis: [ DecodableThrowable < Emoji > ] , features: [ DecodableThrowable < GuildFeature > ] , mfa_level: MFALevel , application_id: Snowflake ? = nil , system_channel_id: Snowflake ? = nil , system_channel_flags: Int , rules_channel_id: Snowflake ? = nil , joined_at: Date ? = nil , large: Bool ? = nil , unavailable: Bool ? = nil , member_count: Int ? = nil , voice_states: [ VoiceState ] ? = nil , members: [ Member ] ? = nil , channels: [ Channel ] ? = nil , threads: [ Channel ] ? = nil , presences: [ PresenceUpdate ] ? = nil , max_presences: Int ? = nil , max_members: Int ? = nil , vanity_url_code: String ? = nil , description: String ? = nil , banner: String ? = nil , premium_tier: PremiumLevel , premium_subscription_count: Int ? = nil , preferred_locale: Locale , public_updates_channel_id: Snowflake ? = nil , max_video_channel_users: Int ? = nil , approximate_member_count: Int ? = nil , approximate_presence_count: Int ? = nil , welcome_screen: GuildWelcomeScreen ? = nil , nsfw_level: NSFWLevel , stage_instances: [ StageInstance ] ? = nil , stickers: [ Sticker ] ? = nil , guild_scheduled_events: [ GuildScheduledEvent ] ? = nil , premium_progress_bar_enabled: Bool ) {
41+ public init ( id: Snowflake , name: String , icon: String ? = nil , icon_hash: String ? = nil , splash: String ? = nil , discovery_splash: String ? = nil , owner: Bool ? = nil , owner_id: Snowflake , permissions: String ? = nil , region: String ? = nil , afk_channel_id: Snowflake ? = nil , afk_timeout: Int , widget_enabled: Bool ? = nil , widget_channel_id: Snowflake ? = nil , verification_level: VerificationLevel , default_message_notifications: MessageNotifLevel , explicit_content_filter: ExplicitContentFilterLevel , roles: [ DecodeThrowable < Role > ] , emojis: [ DecodeThrowable < Emoji > ] , features: [ DecodeThrowable < GuildFeature > ] , mfa_level: MFALevel , application_id: Snowflake ? = nil , system_channel_id: Snowflake ? = nil , system_channel_flags: Int , rules_channel_id: Snowflake ? = nil , joined_at: Date ? = nil , large: Bool ? = nil , unavailable: Bool ? = nil , member_count: Int ? = nil , voice_states: [ VoiceState ] ? = nil , members: [ Member ] ? = nil , channels: [ Channel ] ? = nil , threads: [ Channel ] ? = nil , presences: [ PresenceUpdate ] ? = nil , max_presences: Int ? = nil , max_members: Int ? = nil , vanity_url_code: String ? = nil , description: String ? = nil , banner: String ? = nil , premium_tier: PremiumLevel , premium_subscription_count: Int ? = nil , preferred_locale: Locale , public_updates_channel_id: Snowflake ? = nil , max_video_channel_users: Int ? = nil , approximate_member_count: Int ? = nil , approximate_presence_count: Int ? = nil , welcome_screen: GuildWelcomeScreen ? = nil , nsfw_level: NSFWLevel , stage_instances: [ StageInstance ] ? = nil , stickers: [ Sticker ] ? = nil , guild_scheduled_events: [ GuildScheduledEvent ] ? = nil , premium_progress_bar_enabled: Bool ) {
4242 self . id = id
4343 self . name = name
4444 self . icon = icon
@@ -109,7 +109,7 @@ public struct Guild: GatewayData, Equatable, Identifiable {
109109 public let verification_level : VerificationLevel
110110 public let default_message_notifications : MessageNotifLevel
111111 public let explicit_content_filter : ExplicitContentFilterLevel
112- public let features : [ DecodableThrowable < GuildFeature > ]
112+ public let features : [ DecodeThrowable < GuildFeature > ]
113113 public let mfa_level : MFALevel
114114 public let application_id : Snowflake ? // For bot-created guilds
115115 public let system_channel_id : Snowflake ? // ID of channel for system-created messages
@@ -149,8 +149,8 @@ public struct PreloadedGuild: GatewayData, Identifiable, Equatable {
149149 }
150150
151151 public let version : Int
152- public let channels : [ Channel ]
153- public let emojis : [ DecodableThrowable < Emoji > ]
152+ public let channels : [ DecodeThrowable < Channel > ]
153+ public let emojis : [ DecodeThrowable < Emoji > ]
154154 public let id : Snowflake
155155 public let joined_at : Date
156156 public let large : Bool
@@ -159,19 +159,19 @@ public struct PreloadedGuild: GatewayData, Identifiable, Equatable {
159159 /// Members in the guild
160160 ///
161161 /// > User accounts will only receive the client's member and users in voice channels, and
162- public let members : [ Member ] ?
162+ public let members : [ DecodeThrowable < Member > ] ?
163163
164164 /// Number of "boosts" the server has
165165 public let premium_subscription_count : Int
166166 public let properties : Guild
167- public let roles : [ DecodableThrowable < Role > ]
168- public let stickers : [ Sticker ]
167+ public let roles : [ DecodeThrowable < Role > ]
168+ public let stickers : [ DecodeThrowable < Sticker > ]
169169 // public let threads:
170170
171171 /// Convenience init for creating DM channel
172172 public init ( channels: [ Channel ] , properties: Guild ) {
173173 self . version = 0
174- self . channels = channels
174+ self . channels = channels. map { DecodeThrowable ( $0 ) }
175175 self . emojis = [ ]
176176 self . id = " @me "
177177 self . joined_at = . distantPast
0 commit comments