diff --git a/src/TL.Schema.cs b/src/TL.Schema.cs index 45807d0..dc0549c 100644 --- a/src/TL.Schema.cs +++ b/src/TL.Schema.cs @@ -963,7 +963,7 @@ namespace TL public sealed partial class UserStatusOffline : UserStatus { /// Time the user was last seen online - public int was_online; + public DateTime was_online; } /// Online status: last seen recently See [TLDef(0x7B197DC8)] diff --git a/src/TL.Xtended.cs b/src/TL.Xtended.cs index 630a370..9811d07 100644 --- a/src/TL.Xtended.cs +++ b/src/TL.Xtended.cs @@ -216,7 +216,7 @@ namespace TL /// a null value means userStatusEmpty = last seen a long time ago, more than a month (or blocked/deleted users) partial class UserStatus { internal abstract TimeSpan LastSeenAgo { get; } } partial class UserStatusOnline { internal override TimeSpan LastSeenAgo => TimeSpan.Zero; } - partial class UserStatusOffline { internal override TimeSpan LastSeenAgo => DateTime.UtcNow - new DateTime((was_online + 62135596800L) * 10000000, DateTimeKind.Utc); } + partial class UserStatusOffline { internal override TimeSpan LastSeenAgo => DateTime.UtcNow - was_online; } /// covers anything between 1 second and 2-3 days partial class UserStatusRecently { internal override TimeSpan LastSeenAgo => TimeSpan.FromDays(1); } /// between 2-3 and seven days @@ -690,8 +690,8 @@ namespace TL { System.Text.Json.JsonValueKind.True or System.Text.Json.JsonValueKind.False => new JsonBool { value = elem.GetBoolean() }, - System.Text.Json.JsonValueKind.Object => new JsonObject { value = elem.EnumerateObject().Select(FromJsonProperty).ToArray() }, - System.Text.Json.JsonValueKind.Array => new JsonArray { value = elem.EnumerateArray().Select(FromJsonElement).ToArray() }, + System.Text.Json.JsonValueKind.Object => new JsonObject { value = [.. elem.EnumerateObject().Select(FromJsonProperty)] }, + System.Text.Json.JsonValueKind.Array => new JsonArray { value = [.. elem.EnumerateArray().Select(FromJsonElement)] }, System.Text.Json.JsonValueKind.String => new JsonString { value = elem.GetString() }, System.Text.Json.JsonValueKind.Number => new JsonNumber { value = elem.GetDouble() }, _ => new JsonNull(), @@ -710,7 +710,7 @@ namespace TL sb.Append(i == 0 ? "" : ",").Append(value[i]); return sb.Append(']').ToString(); } - public object[] ToNativeArray() => value.Select(v => v.ToNative()).ToArray(); + public object[] ToNativeArray() => [.. value.Select(v => v.ToNative())]; public override object ToNative() { if (value.Length == 0) return Array.Empty();