diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelCreateAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelCreateAuditLogData.cs index a692829f4..f432b4ca5 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelCreateAuditLogData.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelCreateAuditLogData.cs @@ -11,11 +11,14 @@ namespace Discord.Rest /// public class ChannelCreateAuditLogData : IAuditLogData { - private ChannelCreateAuditLogData(ulong id, string name, ChannelType type, IReadOnlyCollection overwrites) + private ChannelCreateAuditLogData(ulong id, string name, ChannelType type, int? rateLimit, bool? nsfw, int? bitrate, IReadOnlyCollection overwrites) { ChannelId = id; ChannelName = name; ChannelType = type; + SlowModeInterval = rateLimit; + IsNsfw = nsfw; + Bitrate = bitrate; Overwrites = overwrites; } @@ -27,9 +30,15 @@ namespace Discord.Rest var overwritesModel = changes.FirstOrDefault(x => x.ChangedProperty == "permission_overwrites"); var typeModel = changes.FirstOrDefault(x => x.ChangedProperty == "type"); var nameModel = changes.FirstOrDefault(x => x.ChangedProperty == "name"); + var rateLimitPerUserModel = changes.FirstOrDefault(x => x.ChangedProperty == "rate_limit_per_user"); + var nsfwModel = changes.FirstOrDefault(x => x.ChangedProperty == "nsfw"); + var bitrateModel = changes.FirstOrDefault(x => x.ChangedProperty == "bitrate"); var type = typeModel.NewValue.ToObject(discord.ApiClient.Serializer); var name = nameModel.NewValue.ToObject(discord.ApiClient.Serializer); + int? rateLimitPerUser = rateLimitPerUserModel?.NewValue?.ToObject(discord.ApiClient.Serializer); + bool? nsfw = nsfwModel?.NewValue?.ToObject(discord.ApiClient.Serializer); + int? bitrate = bitrateModel?.NewValue?.ToObject(discord.ApiClient.Serializer); foreach (var overwrite in overwritesModel.NewValue) { @@ -41,7 +50,7 @@ namespace Discord.Rest overwrites.Add(new Overwrite(id, permType, new OverwritePermissions(allow, deny))); } - return new ChannelCreateAuditLogData(entry.TargetId.Value, name, type, overwrites.ToReadOnlyCollection()); + return new ChannelCreateAuditLogData(entry.TargetId.Value, name, type, rateLimitPerUser, nsfw, bitrate, overwrites.ToReadOnlyCollection()); } /// @@ -66,6 +75,32 @@ namespace Discord.Rest /// public ChannelType ChannelType { get; } /// + /// Gets the current slow-mode delay of the created channel. + /// + /// + /// An representing the time in seconds required before the user can send another + /// message; 0 if disabled. + /// null if this is not mentioned in this entry. + /// + public int? SlowModeInterval { get; } + /// + /// Gets the value that indicates whether the created channel is NSFW. + /// + /// + /// true if the created channel has the NSFW flag enabled; otherwise false. + /// null if this is not mentioned in this entry. + /// + public bool? IsNsfw { get; } + /// + /// Gets the bit-rate that the clients in the created voice channel are requested to use. + /// + /// + /// An representing the bit-rate (bps) that the created voice channel defines and requests the + /// client(s) to use. + /// null if this is not mentioned in this entry. + /// + public int? Bitrate { get; } + /// /// Gets a collection of permission overwrites that was assigned to the created channel. /// /// diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelDeleteAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelDeleteAuditLogData.cs index d09b658cf..390749929 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelDeleteAuditLogData.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelDeleteAuditLogData.cs @@ -11,11 +11,14 @@ namespace Discord.Rest /// public class ChannelDeleteAuditLogData : IAuditLogData { - private ChannelDeleteAuditLogData(ulong id, string name, ChannelType type, IReadOnlyCollection overwrites) + private ChannelDeleteAuditLogData(ulong id, string name, ChannelType type, int? rateLimit, bool? nsfw, int? bitrate, IReadOnlyCollection overwrites) { ChannelId = id; ChannelName = name; ChannelType = type; + SlowModeInterval = rateLimit; + IsNsfw = nsfw; + Bitrate = bitrate; Overwrites = overwrites; } @@ -26,15 +29,21 @@ namespace Discord.Rest var overwritesModel = changes.FirstOrDefault(x => x.ChangedProperty == "permission_overwrites"); var typeModel = changes.FirstOrDefault(x => x.ChangedProperty == "type"); var nameModel = changes.FirstOrDefault(x => x.ChangedProperty == "name"); + var rateLimitPerUserModel = changes.FirstOrDefault(x => x.ChangedProperty == "rate_limit_per_user"); + var nsfwModel = changes.FirstOrDefault(x => x.ChangedProperty == "nsfw"); + var bitrateModel = changes.FirstOrDefault(x => x.ChangedProperty == "bitrate"); var overwrites = overwritesModel.OldValue.ToObject(discord.ApiClient.Serializer) .Select(x => new Overwrite(x.TargetId, x.TargetType, new OverwritePermissions(x.Allow, x.Deny))) .ToList(); var type = typeModel.OldValue.ToObject(discord.ApiClient.Serializer); var name = nameModel.OldValue.ToObject(discord.ApiClient.Serializer); + int? rateLimitPerUser = rateLimitPerUserModel?.OldValue?.ToObject(discord.ApiClient.Serializer); + bool? nsfw = nsfwModel?.OldValue?.ToObject(discord.ApiClient.Serializer); + int? bitrate = bitrateModel?.OldValue?.ToObject(discord.ApiClient.Serializer); var id = entry.TargetId.Value; - return new ChannelDeleteAuditLogData(id, name, type, overwrites.ToReadOnlyCollection()); + return new ChannelDeleteAuditLogData(id, name, type, rateLimitPerUser, nsfw, bitrate, overwrites.ToReadOnlyCollection()); } /// @@ -59,6 +68,31 @@ namespace Discord.Rest /// public ChannelType ChannelType { get; } /// + /// Gets the slow-mode delay of the deleted channel. + /// + /// + /// An representing the time in seconds required before the user can send another + /// message; 0 if disabled. + /// null if this is not mentioned in this entry. + /// + public int? SlowModeInterval { get; } + /// + /// Gets the value that indicates whether the deleted channel was NSFW. + /// + /// + /// true if this channel had the NSFW flag enabled; otherwise false. + /// null if this is not mentioned in this entry. + /// + public bool? IsNsfw { get; } + /// + /// Gets the bit-rate of this channel if applicable. + /// + /// + /// An representing the bit-rate set of the voice channel. + /// null if this is not mentioned in this entry. + /// + public int? Bitrate { get; } + /// /// Gets a collection of permission overwrites that was assigned to the deleted channel. /// /// diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelInfo.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelInfo.cs index 6382e8250..d6d2fb4b3 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelInfo.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelInfo.cs @@ -5,12 +5,13 @@ namespace Discord.Rest /// public struct ChannelInfo { - internal ChannelInfo(string name, string topic, int? bitrate, int? limit) + internal ChannelInfo(string name, string topic, int? rateLimit, bool? nsfw, int? bitrate) { Name = name; Topic = topic; + SlowModeInterval = rateLimit; + IsNsfw = nsfw; Bitrate = bitrate; - UserLimit = limit; } /// @@ -28,20 +29,29 @@ namespace Discord.Rest /// public string Topic { get; } /// - /// Gets the bit-rate of this channel if applicable. + /// Gets the current slow-mode delay of this channel. /// /// - /// An representing the bit-rate set for the voice channel; null if not - /// applicable. + /// An representing the time in seconds required before the user can send another + /// message; 0 if disabled. + /// null if this is not mentioned in this entry. /// - public int? Bitrate { get; } + public int? SlowModeInterval { get; } + /// + /// Gets the value that indicates whether this channel is NSFW. + /// + /// + /// true if this channel has the NSFW flag enabled; otherwise false. + /// null if this is not mentioned in this entry. + /// + public bool? IsNsfw { get; } /// - /// Gets the number of users allowed to be in this channel if applicable. + /// Gets the bit-rate of this channel if applicable. /// /// - /// An representing the number of users allowed to be in this voice channel; - /// null if not applicable. + /// An representing the bit-rate set for the voice channel; + /// null if this is not mentioned in this entry. /// - public int? UserLimit { get; } + public int? Bitrate { get; } } } diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelUpdateAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelUpdateAuditLogData.cs index f37404906..fa5233145 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelUpdateAuditLogData.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/ChannelUpdateAuditLogData.cs @@ -23,20 +23,23 @@ namespace Discord.Rest var nameModel = changes.FirstOrDefault(x => x.ChangedProperty == "name"); var topicModel = changes.FirstOrDefault(x => x.ChangedProperty == "topic"); + var rateLimitPerUserModel = changes.FirstOrDefault(x => x.ChangedProperty == "rate_limit_per_user"); + var nsfwModel = changes.FirstOrDefault(x => x.ChangedProperty == "nsfw"); var bitrateModel = changes.FirstOrDefault(x => x.ChangedProperty == "bitrate"); - var userLimitModel = changes.FirstOrDefault(x => x.ChangedProperty == "user_limit"); string oldName = nameModel?.OldValue?.ToObject(discord.ApiClient.Serializer), newName = nameModel?.NewValue?.ToObject(discord.ApiClient.Serializer); string oldTopic = topicModel?.OldValue?.ToObject(discord.ApiClient.Serializer), newTopic = topicModel?.NewValue?.ToObject(discord.ApiClient.Serializer); + int? oldRateLimitPerUser = rateLimitPerUserModel?.OldValue?.ToObject(discord.ApiClient.Serializer), + newRateLimitPerUser = rateLimitPerUserModel?.NewValue?.ToObject(discord.ApiClient.Serializer); + bool? oldNsfw = nsfwModel?.OldValue?.ToObject(discord.ApiClient.Serializer), + newNsfw = nsfwModel?.NewValue?.ToObject(discord.ApiClient.Serializer); int? oldBitrate = bitrateModel?.OldValue?.ToObject(discord.ApiClient.Serializer), newBitrate = bitrateModel?.NewValue?.ToObject(discord.ApiClient.Serializer); - int? oldLimit = userLimitModel?.OldValue?.ToObject(discord.ApiClient.Serializer), - newLimit = userLimitModel?.NewValue?.ToObject(discord.ApiClient.Serializer); - var before = new ChannelInfo(oldName, oldTopic, oldBitrate, oldLimit); - var after = new ChannelInfo(newName, newTopic, newBitrate, newLimit); + var before = new ChannelInfo(oldName, oldTopic, oldRateLimitPerUser, oldNsfw, oldBitrate); + var after = new ChannelInfo(newName, newTopic, newRateLimitPerUser, newNsfw, newBitrate); return new ChannelUpdateAuditLogData(entry.TargetId.Value, before, after); } diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/GuildInfo.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/GuildInfo.cs index df63251d8..85c7ac438 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; } /// @@ -28,11 +32,16 @@ namespace Discord.Rest /// /// An representing the amount of time in seconds for a user to be marked as inactive /// and moved into the AFK voice channel. + /// null if this is not mentioned in this entry. /// public int? AfkTimeout { get; } /// /// Gets the default message notifications for users who haven't explicitly set their notification settings. /// + /// + /// The default message notifications setting of this guild. + /// null if this is not mentioned in this entry. + /// public DefaultMessageNotifications? DefaultMessageNotifications { get; } /// /// Gets the ID of the AFK voice channel for this guild. @@ -65,6 +74,7 @@ namespace Discord.Rest /// /// /// The level of requirements. + /// null if this is not mentioned in this entry. /// public VerificationLevel? VerificationLevel { get; } /// @@ -80,8 +90,39 @@ namespace Discord.Rest /// /// /// The level of MFA requirement. + /// null if this is not mentioned in this entry. /// 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. + /// + public ExplicitContentFilterLevel? ExplicitContentFilter { get; } + /// + /// Gets the ID of the channel where system messages are sent. + /// + /// + /// A representing the snowflake identifier of the channel where system + /// 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. + /// null if this is not mentioned in this entry. + /// + 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); } diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberInfo.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberInfo.cs index b0a1a8e5a..ffa316faa 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberInfo.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberInfo.cs @@ -1,18 +1,41 @@ namespace Discord.Rest { + /// + /// Represents information for a member. + /// public struct MemberInfo { - internal MemberInfo(string nick, bool? deaf, bool? mute, string avatar_hash) + internal MemberInfo(string nick, bool? deaf, bool? mute) { Nickname = nick; Deaf = deaf; Mute = mute; - AvatarHash = avatar_hash; } + /// + /// Gets the nickname of the updated member. + /// + /// + /// A string representing the nickname of the updated member; null if none is set. + /// public string Nickname { get; } + /// + /// Gets a value that indicates whether the updated member is deafened by the guild. + /// + /// + /// true if the updated member is deafened (i.e. not permitted to listen to or speak to others) by the guild; + /// otherwise false. + /// null if this is not mentioned in this entry. + /// public bool? Deaf { get; } + /// + /// Gets a value that indicates whether the updated member is muted (i.e. not permitted to speak via voice) by the + /// guild. + /// + /// + /// true if the updated member is muted by the guild; otherwise false. + /// null if this is not mentioned in this entry. + /// public bool? Mute { get; } - public string AvatarHash { get; } } } diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberUpdateAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberUpdateAuditLogData.cs index 238c79843..f22b83e4c 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberUpdateAuditLogData.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberUpdateAuditLogData.cs @@ -24,7 +24,6 @@ namespace Discord.Rest var nickModel = changes.FirstOrDefault(x => x.ChangedProperty == "nick"); var deafModel = changes.FirstOrDefault(x => x.ChangedProperty == "deaf"); var muteModel = changes.FirstOrDefault(x => x.ChangedProperty == "mute"); - var avatarModel = changes.FirstOrDefault(x => x.ChangedProperty == "avatar_hash"); string oldNick = nickModel?.OldValue?.ToObject(discord.ApiClient.Serializer), newNick = nickModel?.NewValue?.ToObject(discord.ApiClient.Serializer); @@ -32,14 +31,12 @@ namespace Discord.Rest newDeaf = deafModel?.NewValue?.ToObject(discord.ApiClient.Serializer); bool? oldMute = muteModel?.OldValue?.ToObject(discord.ApiClient.Serializer), newMute = muteModel?.NewValue?.ToObject(discord.ApiClient.Serializer); - string oldAvatar = avatarModel?.OldValue?.ToObject(discord.ApiClient.Serializer), - newAvatar = avatarModel?.NewValue?.ToObject(discord.ApiClient.Serializer); var targetInfo = log.Users.FirstOrDefault(x => x.Id == entry.TargetId); var user = RestUser.Create(discord, targetInfo); - var before = new MemberInfo(oldNick, oldDeaf, oldMute, oldAvatar); - var after = new MemberInfo(newNick, newDeaf, newMute, newAvatar); + var before = new MemberInfo(oldNick, oldDeaf, oldMute); + var after = new MemberInfo(newNick, newDeaf, newMute); return new MemberUpdateAuditLogData(user, before, after); } @@ -51,7 +48,19 @@ namespace Discord.Rest /// A user object representing the user who the changes were performed on. /// public IUser Target { get; } + /// + /// Gets the member information before the changes. + /// + /// + /// An information object containing the original member information before the changes were made. + /// public MemberInfo Before { get; } + /// + /// Gets the member information after the changes. + /// + /// + /// An information object containing the member information after the changes were made. + /// public MemberInfo After { get; } } } diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteCreateAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteCreateAuditLogData.cs index a9ccd4db3..3f391187d 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteCreateAuditLogData.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteCreateAuditLogData.cs @@ -10,8 +10,9 @@ namespace Discord.Rest /// public class OverwriteCreateAuditLogData : IAuditLogData { - private OverwriteCreateAuditLogData(Overwrite overwrite) + private OverwriteCreateAuditLogData(ulong channelId, Overwrite overwrite) { + ChannelId = channelId; Overwrite = overwrite; } @@ -30,9 +31,17 @@ namespace Discord.Rest var id = entry.Options.OverwriteTargetId.Value; var type = entry.Options.OverwriteType; - return new OverwriteCreateAuditLogData(new Overwrite(id, type, permissions)); + return new OverwriteCreateAuditLogData(entry.TargetId.Value, new Overwrite(id, type, permissions)); } + /// + /// Gets the ID of the channel that the overwrite was created from. + /// + /// + /// A representing the snowflake identifier for the channel that the overwrite was + /// created from. + /// + public ulong ChannelId { get; } /// /// Gets the permission overwrite object that was created. /// diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteDeleteAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteDeleteAuditLogData.cs index 1e51fa5e3..a193e76ce 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteDeleteAuditLogData.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteDeleteAuditLogData.cs @@ -10,8 +10,9 @@ namespace Discord.Rest /// public class OverwriteDeleteAuditLogData : IAuditLogData { - private OverwriteDeleteAuditLogData(Overwrite deletedOverwrite) + private OverwriteDeleteAuditLogData(ulong channelId, Overwrite deletedOverwrite) { + ChannelId = channelId; Overwrite = deletedOverwrite; } @@ -29,9 +30,17 @@ namespace Discord.Rest var id = idModel.OldValue.ToObject(discord.ApiClient.Serializer); var allow = allowModel.OldValue.ToObject(discord.ApiClient.Serializer); - return new OverwriteDeleteAuditLogData(new Overwrite(id, type, new OverwritePermissions(allow, deny))); + return new OverwriteDeleteAuditLogData(entry.TargetId.Value, new Overwrite(id, type, new OverwritePermissions(allow, deny))); } + /// + /// Gets the ID of the channel that the overwrite was deleted from. + /// + /// + /// A representing the snowflake identifier for the channel that the overwrite was + /// deleted from. + /// + public ulong ChannelId { get; } /// /// Gets the permission overwrite object that was deleted. /// diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteUpdateAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteUpdateAuditLogData.cs index ac67c85cf..c2b8d423e 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteUpdateAuditLogData.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/OverwriteUpdateAuditLogData.cs @@ -10,8 +10,9 @@ namespace Discord.Rest /// public class OverwriteUpdateAuditLogData : IAuditLogData { - private OverwriteUpdateAuditLogData(OverwritePermissions before, OverwritePermissions after, ulong targetId, PermissionTarget targetType) + private OverwriteUpdateAuditLogData(ulong channelId, OverwritePermissions before, OverwritePermissions after, ulong targetId, PermissionTarget targetType) { + ChannelId = channelId; OldPermissions = before; NewPermissions = after; OverwriteTargetId = targetId; @@ -28,16 +29,24 @@ namespace Discord.Rest var beforeAllow = allowModel?.OldValue?.ToObject(discord.ApiClient.Serializer); var afterAllow = allowModel?.NewValue?.ToObject(discord.ApiClient.Serializer); var beforeDeny = denyModel?.OldValue?.ToObject(discord.ApiClient.Serializer); - var afterDeny = denyModel?.OldValue?.ToObject(discord.ApiClient.Serializer); + var afterDeny = denyModel?.NewValue?.ToObject(discord.ApiClient.Serializer); var beforePermissions = new OverwritePermissions(beforeAllow ?? 0, beforeDeny ?? 0); var afterPermissions = new OverwritePermissions(afterAllow ?? 0, afterDeny ?? 0); var type = entry.Options.OverwriteType; - return new OverwriteUpdateAuditLogData(beforePermissions, afterPermissions, entry.Options.OverwriteTargetId.Value, type); + return new OverwriteUpdateAuditLogData(entry.TargetId.Value, beforePermissions, afterPermissions, entry.Options.OverwriteTargetId.Value, type); } + /// + /// Gets the ID of the channel that the overwrite was updated from. + /// + /// + /// A representing the snowflake identifier for the channel that the overwrite was + /// updated from. + /// + public ulong ChannelId { get; } /// /// Gets the overwrite permissions before the changes. /// diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/RoleUpdateAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/RoleUpdateAuditLogData.cs index f98fc3e23..094e1e0e0 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/RoleUpdateAuditLogData.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/RoleUpdateAuditLogData.cs @@ -36,7 +36,7 @@ namespace Discord.Rest string oldName = nameModel?.OldValue?.ToObject(discord.ApiClient.Serializer), newName = nameModel?.NewValue?.ToObject(discord.ApiClient.Serializer); ulong? oldPermissionsRaw = permissionsModel?.OldValue?.ToObject(discord.ApiClient.Serializer), - newPermissionsRaw = permissionsModel?.OldValue?.ToObject(discord.ApiClient.Serializer); + newPermissionsRaw = permissionsModel?.NewValue?.ToObject(discord.ApiClient.Serializer); Color? oldColor = null, newColor = null;