package discord type GatewayOp uint8 const ( GATEWAY_OP_DISPATCH GatewayOp = 0 GATEWAY_OP_HEARTBEAT GatewayOp = 1 GATEWAY_OP_IDENTIFY GatewayOp = 2 GATEWAY_OP_PRESENCE_UPDATE GatewayOp = 3 GATEWAY_OP_VOICE_STATE_UPDATE GatewayOp = 4 GATEWAY_OP_RESUME GatewayOp = 6 GATEWAY_OP_RECONNECT GatewayOp = 7 GATEWAY_OP_REQUEST_GUILD_MEMBERS GatewayOp = 8 GATEWAY_OP_INVALID_SESSION GatewayOp = 9 GATEWAY_OP_HELLO GatewayOp = 10 GATEWAY_OP_HEARTBEAT_ACK GatewayOp = 11 ) type GatewayPayload[D any] struct { Op GatewayOp `json:"op"` Data D `json:"d,omitempty"` Sequence uint64 `json:"s,omitempty"` EventName string `json:"t,omitempty"` } type GatewayIdentifyMsg struct { Token string `json:"token"` Intents uint64 `json:"intents"` Properties GatewayIdentifyProperties `json:"properties"` } type GatewayHelloMsg struct { HeartbeatInterval uint64 `json:"heartbeat_interval"` } type GatewayReadyMsg struct { Version uint64 `json:"v"` User User `json:"user"` Guilds []Guild `json:"guilds"` SessionID string `json:"session_id"` Shard []int `json:"shard"` } type GatewayIdentifyProperties struct { OS string `json:"$os"` Browser string `json:"$browser"` Device string `json:"$device"` }