internal RestAuditLog(RestDiscordClient client, AuditLogModel log, AuditLogEntryModel entry) : base(client, entry.Id) { TargetId = entry.TargetId; ResponsibleUserId = entry.UserId; ResponsibleUser = RestFetchable.Create(this, (@this, options) => @this.Client.GetUserAsync(@this.ResponsibleUserId, options)); var userModel = Array.Find(log.Users, x => x.Id == entry.UserId); if (userModel != null) { ResponsibleUser.Value = new RestUser(client, userModel); } Reason = entry.Reason; }
public static FetchableSnowflakeOptional <TShared> Create <TCached, TRest, TShared>(Snowflake id, TCached value, RestFetchable <TRest> fetchable) where TCached : CachedSnowflakeEntity, TShared where TRest : RestSnowflakeEntity, TShared where TShared : ISnowflakeEntity => new FetchableSnowflakeOptionalImpl <TCached, TRest, TShared>(id, value, fetchable);
public FetchableSnowflakeOptionalImpl(Snowflake id, TCached value, RestFetchable <TRest> fetchable) : base(id) { _value = value; _fetchable = fetchable; }