PluralKit/Myriad/Gateway/GatewayPacket.cs

33 lines
873 B
C#
Raw Normal View History

2021-08-27 15:03:47 +00:00
using System.Text.Json.Serialization;
2020-12-22 12:15:26 +00:00
namespace Myriad.Gateway
{
public record GatewayPacket
{
[JsonPropertyName("op")] public GatewayOpcode Opcode { get; init; }
[JsonPropertyName("d")] public object? Payload { get; init; }
2021-08-27 15:03:47 +00:00
[JsonPropertyName("s")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
2020-12-22 12:15:26 +00:00
public int? Sequence { get; init; }
2021-08-27 15:03:47 +00:00
[JsonPropertyName("t")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
2020-12-22 12:15:26 +00:00
public string? EventType { get; init; }
}
public enum GatewayOpcode
{
Dispatch = 0,
Heartbeat = 1,
Identify = 2,
PresenceUpdate = 3,
VoiceStateUpdate = 4,
Resume = 6,
Reconnect = 7,
RequestGuildMembers = 8,
InvalidSession = 9,
Hello = 10,
HeartbeatAck = 11
}
}