Beispiel #1
0
        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;
        }
Beispiel #2
0
 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;
 }