@twurple/api
Version:
Interact with Twitch's API.
88 lines • 2.69 kB
TypeScript
import { type HelixPaginatedResponseWithTotal } from '@twurple/api-call';
export type HelixEventSubSubscriptionStatus = 'enabled' | 'webhook_callback_verification_pending' | 'webhook_callback_verification_failed' | 'notification_failures_exceeded' | 'authorization_revoked' | 'moderator_removed' | 'user_removed' | 'version_removed' | 'beta_maintenance' | 'websocket_disconnected' | 'websocket_failed_ping_pong' | 'websocket_received_inbound_traffic' | 'websocket_connection_unused' | 'websocket_internal_error' | 'websocket_network_timeout' | 'websocket_network_error' | 'conduit_deleted';
/** @private */
export interface HelixEventSubWebHookTransportData {
/**
* The type of transport.
*/
method: 'webhook';
/**
* The callback URL to send event notifications to.
*/
callback: string;
}
/** @private */
export interface HelixEventSubWebSocketTransportData {
/**
* The type of transport.
*/
method: 'websocket';
/**
* The session ID of the websocket.
*/
session_id: string;
/**
* The time when the client initiated the socket connection.
*/
connected_at: string;
/**
* The time when the socket connection was lost.
*/
disconnected_at: string;
}
/** @private */
export interface HelixEventSubConduitTransportData {
/**
* The type of transport.
*/
method: 'conduit';
/**
* The conduit ID.
*/
conduit_id: string;
}
/** @private */
export interface HelixEventSubConduitData {
/**
* The conduit ID.
*/
id: string;
/**
* The shard count.
*/
shard_count: number;
}
/** @private */
export interface HelixEventSubConduitShardData {
/**
* The shard ID.
*/
id: string;
/**
* The shard status.
*/
status: HelixEventSubSubscriptionStatus;
/**
* The transport method.
*/
transport: HelixEventSubWebHookTransportData | HelixEventSubWebSocketTransportData;
}
/** @private */
export type HelixEventSubTransportData = HelixEventSubWebHookTransportData | HelixEventSubWebSocketTransportData | HelixEventSubConduitTransportData;
/** @private */
export interface HelixEventSubSubscriptionData {
id: string;
status: HelixEventSubSubscriptionStatus;
type: string;
cost: number;
version: string;
condition: Record<string, unknown>;
created_at: string;
transport: HelixEventSubTransportData;
}
/** @private */
export interface HelixPaginatedEventSubSubscriptionsResponse extends HelixPaginatedResponseWithTotal<HelixEventSubSubscriptionData> {
total_cost: number;
max_total_cost: number;
}
//# sourceMappingURL=eventSub.external.d.ts.map