From 5fb9152db39f22240057d994b77ef9cba571744d Mon Sep 17 00:00:00 2001 From: BokuNoPasya <49203428+1NieR@users.noreply.github.com> Date: Thu, 10 Aug 2023 18:34:40 +0500 Subject: [PATCH] [Feature] Add missing `remove` property to `MemberRoleAudit` (#2675) * Adding the missing remove property to MemberRoleAudit * fix * Update src/Discord.Net.WebSocket/Entities/AuditLogs/DataTypes/SocketMemberRoleEditInfo.cs Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com> * Update src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberRoleEditInfo.cs Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com> --------- Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com> --- .../AuditLogs/DataTypes/MemberRoleAuditLogData.cs | 2 +- .../Entities/AuditLogs/DataTypes/MemberRoleEditInfo.cs | 10 +++++++++- .../DataTypes/SocketMemberRoleAuditLogData.cs | 2 +- .../AuditLogs/DataTypes/SocketMemberRoleEditInfo.cs | 10 +++++++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberRoleAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberRoleAuditLogData.cs index 27000f09..7bc59f51 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberRoleAuditLogData.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberRoleAuditLogData.cs @@ -22,7 +22,7 @@ public class MemberRoleAuditLogData : IAuditLogData var roleInfos = changes.SelectMany(x => x.NewValue.ToObject(discord.ApiClient.Serializer), (model, role) => new { model.ChangedProperty, Role = role }) - .Select(x => new MemberRoleEditInfo(x.Role.Name, x.Role.Id, x.ChangedProperty == "$add")) + .Select(x => new MemberRoleEditInfo(x.Role.Name, x.Role.Id, x.ChangedProperty == "$add", x.ChangedProperty == "$remove")) .ToList(); var userInfo = log.Users.FirstOrDefault(x => x.Id == entry.TargetId); diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberRoleEditInfo.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberRoleEditInfo.cs index 5fdca395..2ab7691a 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberRoleEditInfo.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberRoleEditInfo.cs @@ -5,11 +5,12 @@ namespace Discord.Rest; /// public struct MemberRoleEditInfo { - internal MemberRoleEditInfo(string name, ulong roleId, bool added) + internal MemberRoleEditInfo(string name, ulong roleId, bool added, bool removed) { Name = name; RoleId = roleId; Added = added; + Removed = removed; } /// @@ -35,4 +36,11 @@ public struct MemberRoleEditInfo /// if the role was added to the user; otherwise . /// public bool Added { get; } + /// + /// Gets a value indicating that the user role has been removed. + /// + /// + /// true if the role has been removed from the user; otherwise false. + /// + public bool Removed { get; } } diff --git a/src/Discord.Net.WebSocket/Entities/AuditLogs/DataTypes/SocketMemberRoleAuditLogData.cs b/src/Discord.Net.WebSocket/Entities/AuditLogs/DataTypes/SocketMemberRoleAuditLogData.cs index 9264f6d1..ad6c715f 100644 --- a/src/Discord.Net.WebSocket/Entities/AuditLogs/DataTypes/SocketMemberRoleAuditLogData.cs +++ b/src/Discord.Net.WebSocket/Entities/AuditLogs/DataTypes/SocketMemberRoleAuditLogData.cs @@ -22,7 +22,7 @@ public class SocketMemberRoleAuditLogData : ISocketAuditLogData var roleInfos = changes.SelectMany(x => x.NewValue.ToObject(discord.ApiClient.Serializer), (model, role) => new { model.ChangedProperty, Role = role }) - .Select(x => new SocketMemberRoleEditInfo(x.Role.Name, x.Role.Id, x.ChangedProperty == "$add")) + .Select(x => new SocketMemberRoleEditInfo(x.Role.Name, x.Role.Id, x.ChangedProperty == "$add", x.ChangedProperty == "$remove")) .ToList(); var cachedUser = discord.GetUser(entry.TargetId!.Value); diff --git a/src/Discord.Net.WebSocket/Entities/AuditLogs/DataTypes/SocketMemberRoleEditInfo.cs b/src/Discord.Net.WebSocket/Entities/AuditLogs/DataTypes/SocketMemberRoleEditInfo.cs index 127b6da7..bc22bfe4 100644 --- a/src/Discord.Net.WebSocket/Entities/AuditLogs/DataTypes/SocketMemberRoleEditInfo.cs +++ b/src/Discord.Net.WebSocket/Entities/AuditLogs/DataTypes/SocketMemberRoleEditInfo.cs @@ -5,11 +5,12 @@ namespace Discord.WebSocket; /// public struct SocketMemberRoleEditInfo { - internal SocketMemberRoleEditInfo(string name, ulong roleId, bool added) + internal SocketMemberRoleEditInfo(string name, ulong roleId, bool added, bool removed) { Name = name; RoleId = roleId; Added = added; + Removed = removed; } /// @@ -33,4 +34,11 @@ public struct SocketMemberRoleEditInfo /// if the role was added to the user; otherwise . /// public bool Added { get; } + /// + /// Gets a value indicating that the user role has been removed. + /// + /// + /// true if the role has been removed from the user; otherwise false. + /// + public bool Removed { get; } }