PluralKit/Myriad/Gateway/Payloads/GatewayIdentify.cs
2022-01-13 12:28:44 -05:00

30 lines
967 B
C#

using System.Text.Json.Serialization;
namespace Myriad.Gateway;
public record GatewayIdentify
{
public string Token { get; init; }
public ConnectionProperties Properties { get; init; }
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public bool? Compress { get; init; }
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? LargeThreshold { get; init; }
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public ShardInfo? Shard { get; init; }
public GatewayIntent Intents { get; init; }
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public GatewayStatusUpdate? Presence { get; init; }
public record ConnectionProperties
{
[JsonPropertyName("$os")] public string Os { get; init; }
[JsonPropertyName("$browser")] public string Browser { get; init; }
[JsonPropertyName("$device")] public string Device { get; init; }
}
}