[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>
This commit is contained in:
BokuNoPasya
2023-08-10 18:34:40 +05:00
committed by GitHub
parent c92249702b
commit 5fb9152db3
4 changed files with 20 additions and 4 deletions

View File

@@ -22,7 +22,7 @@ public class MemberRoleAuditLogData : IAuditLogData
var roleInfos = changes.SelectMany(x => x.NewValue.ToObject<API.Role[]>(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);

View File

@@ -5,11 +5,12 @@ namespace Discord.Rest;
/// </summary>
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;
}
/// <summary>
@@ -35,4 +36,11 @@ public struct MemberRoleEditInfo
/// <see langword="true" /> if the role was added to the user; otherwise <see langword="false" />.
/// </returns>
public bool Added { get; }
/// <summary>
/// Gets a value indicating that the user role has been removed.
/// </summary>
/// <returns>
/// <c>true</c> if the role has been removed from the user; otherwise <c>false</c>.
/// </returns>
public bool Removed { get; }
}

View File

@@ -22,7 +22,7 @@ public class SocketMemberRoleAuditLogData : ISocketAuditLogData
var roleInfos = changes.SelectMany(x => x.NewValue.ToObject<API.Role[]>(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);

View File

@@ -5,11 +5,12 @@ namespace Discord.WebSocket;
/// </summary>
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;
}
/// <summary>
@@ -33,4 +34,11 @@ public struct SocketMemberRoleEditInfo
/// <see langword="true" /> if the role was added to the user; otherwise <see langword="false" />.
/// </returns>
public bool Added { get; }
/// <summary>
/// Gets a value indicating that the user role has been removed.
/// </summary>
/// <returns>
/// <c>true</c> if the role has been removed from the user; otherwise <c>false</c>.
/// </returns>
public bool Removed { get; }
}