diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/GuildInfo.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/GuildInfo.cs index df63251d8..deae5daa8 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/GuildInfo.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/GuildInfo.cs @@ -7,7 +7,8 @@ namespace Discord.Rest { internal GuildInfo(int? afkTimeout, DefaultMessageNotifications? defaultNotifs, ulong? afkChannel, string name, string region, string icon, - VerificationLevel? verification, IUser owner, MfaLevel? mfa, int? filter) + VerificationLevel? verification, IUser owner, MfaLevel? mfa, ExplicitContentFilterLevel? filter, + ulong? systemChannel, ulong? widgetChannel, bool? widget) { AfkTimeout = afkTimeout; DefaultMessageNotifications = defaultNotifs; @@ -18,7 +19,10 @@ namespace Discord.Rest VerificationLevel = verification; Owner = owner; MfaLevel = mfa; - ContentFilterLevel = filter; + ExplicitContentFilter = filter; + SystemChannelId = systemChannel; + EmbedChannelId = widgetChannel; + IsEmbeddable = widget; } /// @@ -82,6 +86,35 @@ namespace Discord.Rest /// The level of MFA requirement. /// public MfaLevel? MfaLevel { get; } - public int? ContentFilterLevel { get; } + /// + /// Gets the level of content filtering applied to user's content in a Guild. + /// + /// + /// The level of explicit content filtering. + /// + ExplicitContentFilterLevel? ExplicitContentFilter { get; } + /// + /// Gets the ID of the channel where randomized welcome messages are sent. + /// + /// + /// A representing the snowflake identifier of the system channel where randomized + /// welcome messages are sent; null if none is set. + /// + public ulong? SystemChannelId { get; } + /// + /// Gets the ID of the widget embed channel of this guild. + /// + /// + /// A representing the snowflake identifier of the embedded channel found within the + /// widget settings of this guild; null if none is set. + /// + public ulong? EmbedChannelId { get; } + /// + /// Gets a value that indicates whether this guild is embeddable (i.e. can use widget). + /// + /// + /// true if this guild can be embedded via widgets; otherwise false. + /// + public bool? IsEmbeddable { get; } } } diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/GuildUpdateAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/GuildUpdateAuditLogData.cs index 853fa4b4a..80b719a6d 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/GuildUpdateAuditLogData.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/GuildUpdateAuditLogData.cs @@ -30,6 +30,9 @@ namespace Discord.Rest var ownerIdModel = changes.FirstOrDefault(x => x.ChangedProperty == "owner_id"); var mfaLevelModel = changes.FirstOrDefault(x => x.ChangedProperty == "mfa_level"); var contentFilterModel = changes.FirstOrDefault(x => x.ChangedProperty == "explicit_content_filter"); + var systemChannelIdModel = changes.FirstOrDefault(x => x.ChangedProperty == "system_channel_id"); + var widgetChannelIdModel = changes.FirstOrDefault(x => x.ChangedProperty == "widget_channel_id"); + var widgetEnabledModel = changes.FirstOrDefault(x => x.ChangedProperty == "widget_enabled"); int? oldAfkTimeout = afkTimeoutModel?.OldValue?.ToObject(discord.ApiClient.Serializer), newAfkTimeout = afkTimeoutModel?.NewValue?.ToObject(discord.ApiClient.Serializer); @@ -49,8 +52,14 @@ namespace Discord.Rest newOwnerId = ownerIdModel?.NewValue?.ToObject(discord.ApiClient.Serializer); MfaLevel? oldMfaLevel = mfaLevelModel?.OldValue?.ToObject(discord.ApiClient.Serializer), newMfaLevel = mfaLevelModel?.NewValue?.ToObject(discord.ApiClient.Serializer); - int? oldContentFilter = contentFilterModel?.OldValue?.ToObject(discord.ApiClient.Serializer), - newContentFilter = contentFilterModel?.NewValue?.ToObject(discord.ApiClient.Serializer); + ExplicitContentFilterLevel? oldContentFilter = contentFilterModel?.OldValue?.ToObject(discord.ApiClient.Serializer), + newContentFilter = contentFilterModel?.NewValue?.ToObject(discord.ApiClient.Serializer); + ulong? oldSystemChannelId = systemChannelIdModel?.OldValue?.ToObject(discord.ApiClient.Serializer), + newSystemChannelId = systemChannelIdModel?.NewValue?.ToObject(discord.ApiClient.Serializer); + ulong? oldWidgetChannelId = widgetChannelIdModel?.OldValue?.ToObject(discord.ApiClient.Serializer), + newWidgetChannelId = widgetChannelIdModel?.NewValue?.ToObject(discord.ApiClient.Serializer); + bool? oldWidgetEnabled = widgetEnabledModel?.OldValue?.ToObject(discord.ApiClient.Serializer), + newWidgetEnabled = widgetEnabledModel?.NewValue?.ToObject(discord.ApiClient.Serializer); IUser oldOwner = null; if (oldOwnerId != null) @@ -68,10 +77,10 @@ namespace Discord.Rest var before = new GuildInfo(oldAfkTimeout, oldDefaultMessageNotifications, oldAfkChannelId, oldName, oldRegionId, oldIconHash, oldVerificationLevel, oldOwner, - oldMfaLevel, oldContentFilter); + oldMfaLevel, oldContentFilter, oldSystemChannelId, oldWidgetChannelId, oldWidgetEnabled); var after = new GuildInfo(newAfkTimeout, newDefaultMessageNotifications, newAfkChannelId, newName, newRegionId, newIconHash, newVerificationLevel, newOwner, - newMfaLevel, newContentFilter); + newMfaLevel, newContentFilter, newSystemChannelId, newWidgetChannelId, newWidgetEnabled); return new GuildUpdateAuditLogData(before, after); }