Add missing fields to new MemberInfo type (#1107)
This commit is contained in:
committed by
Christopher F
parent
245806fe3d
commit
aadd6f639f
@@ -0,0 +1,18 @@
|
|||||||
|
namespace Discord.Rest
|
||||||
|
{
|
||||||
|
public struct MemberInfo
|
||||||
|
{
|
||||||
|
internal MemberInfo(string nick, bool? deaf, bool? mute, string avatar_hash)
|
||||||
|
{
|
||||||
|
Nickname = nick;
|
||||||
|
Deaf = deaf;
|
||||||
|
Mute = mute;
|
||||||
|
AvatarHash = avatar_hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Nickname { get; }
|
||||||
|
public bool? Deaf { get; }
|
||||||
|
public bool? Mute { get; }
|
||||||
|
public string AvatarHash { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,28 +8,42 @@ namespace Discord.Rest
|
|||||||
{
|
{
|
||||||
public class MemberUpdateAuditLogData : IAuditLogData
|
public class MemberUpdateAuditLogData : IAuditLogData
|
||||||
{
|
{
|
||||||
private MemberUpdateAuditLogData(IUser target, string newNick, string oldNick)
|
private MemberUpdateAuditLogData(IUser target, MemberInfo before, MemberInfo after)
|
||||||
{
|
{
|
||||||
Target = target;
|
Target = target;
|
||||||
NewNick = newNick;
|
Before = before;
|
||||||
OldNick = oldNick;
|
After = after;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static MemberUpdateAuditLogData Create(BaseDiscordClient discord, Model log, EntryModel entry)
|
internal static MemberUpdateAuditLogData Create(BaseDiscordClient discord, Model log, EntryModel entry)
|
||||||
{
|
{
|
||||||
var changes = entry.Changes.FirstOrDefault(x => x.ChangedProperty == "nick");
|
var changes = entry.Changes;
|
||||||
|
|
||||||
var newNick = changes.NewValue?.ToObject<string>();
|
var nickModel = changes.FirstOrDefault(x => x.ChangedProperty == "nick");
|
||||||
var oldNick = changes.OldValue?.ToObject<string>();
|
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<string>(),
|
||||||
|
newNick = nickModel?.NewValue?.ToObject<string>();
|
||||||
|
bool? oldDeaf = deafModel?.OldValue?.ToObject<bool>(),
|
||||||
|
newDeaf = deafModel?.NewValue?.ToObject<bool>();
|
||||||
|
bool? oldMute = muteModel?.OldValue?.ToObject<bool>(),
|
||||||
|
newMute = muteModel?.NewValue?.ToObject<bool>();
|
||||||
|
string oldAvatar = avatarModel?.OldValue?.ToObject<string>(),
|
||||||
|
newAvatar = avatarModel?.NewValue?.ToObject<string>();
|
||||||
|
|
||||||
var targetInfo = log.Users.FirstOrDefault(x => x.Id == entry.TargetId);
|
var targetInfo = log.Users.FirstOrDefault(x => x.Id == entry.TargetId);
|
||||||
var user = RestUser.Create(discord, targetInfo);
|
var user = RestUser.Create(discord, targetInfo);
|
||||||
|
|
||||||
return new MemberUpdateAuditLogData(user, newNick, oldNick);
|
var before = new MemberInfo(oldNick, oldDeaf, oldMute, oldAvatar);
|
||||||
|
var after = new MemberInfo(newNick, newDeaf, newMute, newAvatar);
|
||||||
|
|
||||||
|
return new MemberUpdateAuditLogData(user, before, after);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IUser Target { get; }
|
public IUser Target { get; }
|
||||||
public string NewNick { get; }
|
public MemberInfo Before { get; }
|
||||||
public string OldNick { get; }
|
public MemberInfo After { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user