Fix SocketKickAuditLogData User never having value (#2763)

This commit is contained in:
Mihail Gribkov
2023-11-18 23:50:35 +03:00
committed by GitHub
parent b1787d8334
commit 5cfec056cb

View File

@@ -1,4 +1,5 @@
using Discord.Rest; using Discord.Rest;
using EntryModel = Discord.API.AuditLogEntry; using EntryModel = Discord.API.AuditLogEntry;
namespace Discord.WebSocket; namespace Discord.WebSocket;
@@ -15,17 +16,16 @@ public class SocketKickAuditLogData : ISocketAuditLogData
internal static SocketKickAuditLogData Create(DiscordSocketClient discord, EntryModel entry) internal static SocketKickAuditLogData Create(DiscordSocketClient discord, EntryModel entry)
{ {
var cachedUser = discord.GetUser(entry.Id); var cachedUser = discord.GetUser(entry.TargetId!.Value);
var cacheableUser = new Cacheable<SocketUser, RestUser, IUser, ulong>( var cacheableUser = new Cacheable<SocketUser, RestUser, IUser, ulong>(
cachedUser, cachedUser,
entry.Id, entry.TargetId.Value,
cachedUser is not null, cachedUser is not null,
async () => async () =>
{ {
var user = await discord.ApiClient.GetUserAsync(entry.TargetId!.Value); var user = await discord.ApiClient.GetUserAsync(entry.TargetId!.Value);
return user is not null ? RestUser.Create(discord, user) : null; return user is not null ? RestUser.Create(discord, user) : null;
}); });
return new SocketKickAuditLogData(cacheableUser); return new SocketKickAuditLogData(cacheableUser);
} }