stream-tools/twitch/api/api.go

56 lines
1.5 KiB
Go
Raw Normal View History

package api
type (
EventSubMetadata struct {
MessageID string `json:"message_id"`
MessageType string `json:"message_type"`
MessageTimestamp string `json:"message_timestamp"`
}
EventSubSession struct {
ID string `json:"id"`
Status string `json:"status"`
KeepaliveTimeoutSeconds int `json:"keepalive_timeout_seconds"`
ReconnectURL string `json:"reconnect_url"`
ConnectedAt string `json:"connected_at"`
}
EventSubSubscriptionTransport struct {
Method string `json:"method"`
SessionID string `json:"session_id"`
}
EventSubSubscription struct {
ID string `json:"id"`
Status string `json:"status"`
Type string `json:"type"`
Version string `json:"version"`
Cost int `json:"cost"`
Condition any `json:"condition"`
Transport EventSubSubscriptionTransport `json:"transport"`
CreatedAt string `json:"connected_at"`
}
EventSubPayload struct {
Session *EventSubSession `json:"session"`
Subscription *EventSubSubscription `json:"subscription"`
Event any `json:"event"`
}
EventSubMessage struct {
Metadata EventSubMetadata `json:"metadata"`
Payload EventSubPayload `json:"payload"`
}
)
type MessageType string
const (
2026-07-24 10:45:08 +01:00
BASE_URL string = "https://api.twitch.tv/helix"
EVENTSUB_URL string = "wss://eventsub.wss.twitch.tv/ws"
SESSION_WELCOME MessageType = "session_welcome"
SESSION_KEEPALIVE MessageType = "session_keepalive"
NOTIFICATION MessageType = "notification"
SESSION_RECONNECT MessageType = "session_reconnect"
SESSION_RECOVATION MessageType = "session_revocation"
)