Change UserStatusOffline.was_online to a DateTime

This commit is contained in:
Wizou 2025-10-31 00:30:02 +01:00
parent 4875f75774
commit 40bcf69bfb
2 changed files with 5 additions and 5 deletions

View file

@ -963,7 +963,7 @@ namespace TL
public sealed partial class UserStatusOffline : UserStatus public sealed partial class UserStatusOffline : UserStatus
{ {
/// <summary>Time the user was last seen online</summary> /// <summary>Time the user was last seen online</summary>
public int was_online; public DateTime was_online;
} }
/// <summary>Online status: last seen recently <para>See <a href="https://corefork.telegram.org/constructor/userStatusRecently"/></para></summary> /// <summary>Online status: last seen recently <para>See <a href="https://corefork.telegram.org/constructor/userStatusRecently"/></para></summary>
[TLDef(0x7B197DC8)] [TLDef(0x7B197DC8)]

View file

@ -216,7 +216,7 @@ namespace TL
/// <remarks>a <c>null</c> value means <a href="https://corefork.telegram.org/constructor/userStatusEmpty">userStatusEmpty</a> = last seen a long time ago, more than a month (or blocked/deleted users)</remarks> /// <remarks>a <c>null</c> value means <a href="https://corefork.telegram.org/constructor/userStatusEmpty">userStatusEmpty</a> = last seen a long time ago, more than a month (or blocked/deleted users)</remarks>
partial class UserStatus { internal abstract TimeSpan LastSeenAgo { get; } } partial class UserStatus { internal abstract TimeSpan LastSeenAgo { get; } }
partial class UserStatusOnline { internal override TimeSpan LastSeenAgo => TimeSpan.Zero; } 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; }
/// <remarks>covers anything between 1 second and 2-3 days</remarks> /// <remarks>covers anything between 1 second and 2-3 days</remarks>
partial class UserStatusRecently { internal override TimeSpan LastSeenAgo => TimeSpan.FromDays(1); } partial class UserStatusRecently { internal override TimeSpan LastSeenAgo => TimeSpan.FromDays(1); }
/// <remarks>between 2-3 and seven days</remarks> /// <remarks>between 2-3 and seven days</remarks>
@ -690,8 +690,8 @@ namespace TL
{ {
System.Text.Json.JsonValueKind.True or System.Text.Json.JsonValueKind.True or
System.Text.Json.JsonValueKind.False => new JsonBool { value = elem.GetBoolean() }, 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.Object => new JsonObject { value = [.. elem.EnumerateObject().Select(FromJsonProperty)] },
System.Text.Json.JsonValueKind.Array => new JsonArray { value = elem.EnumerateArray().Select(FromJsonElement).ToArray() }, 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.String => new JsonString { value = elem.GetString() },
System.Text.Json.JsonValueKind.Number => new JsonNumber { value = elem.GetDouble() }, System.Text.Json.JsonValueKind.Number => new JsonNumber { value = elem.GetDouble() },
_ => new JsonNull(), _ => new JsonNull(),
@ -710,7 +710,7 @@ namespace TL
sb.Append(i == 0 ? "" : ",").Append(value[i]); sb.Append(i == 0 ? "" : ",").Append(value[i]);
return sb.Append(']').ToString(); 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() public override object ToNative()
{ {
if (value.Length == 0) return Array.Empty<object>(); if (value.Length == 0) return Array.Empty<object>();