@saebyn/glowing-telegram-types 0.8.0 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/types.ts +213 -2
package/package.json
CHANGED
package/src/types.ts
CHANGED
|
@@ -7,7 +7,110 @@ export interface AuthorizationURLResponse {
|
|
|
7
7
|
url: string;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
export interface ChatSubscriptionStatusResponse {
|
|
11
|
+
/**
|
|
12
|
+
* Whether the user has any active chat subscriptions
|
|
13
|
+
*/
|
|
14
|
+
has_active_subscription: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Array of active EventSub chat subscriptions for the user
|
|
17
|
+
*/
|
|
18
|
+
subscriptions: EventSubSubscription[];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface EventSubSubscription {
|
|
22
|
+
/**
|
|
23
|
+
* The condition object for the subscription
|
|
24
|
+
*/
|
|
25
|
+
condition: Condition;
|
|
26
|
+
/**
|
|
27
|
+
* When the subscription was created
|
|
28
|
+
*/
|
|
29
|
+
created_at: string;
|
|
30
|
+
/**
|
|
31
|
+
* The subscription ID
|
|
32
|
+
*/
|
|
33
|
+
id: string;
|
|
34
|
+
/**
|
|
35
|
+
* The status of the subscription
|
|
36
|
+
*/
|
|
37
|
+
status: string;
|
|
38
|
+
/**
|
|
39
|
+
* The transport object for the subscription
|
|
40
|
+
*/
|
|
41
|
+
transport: Transport;
|
|
42
|
+
/**
|
|
43
|
+
* The type of the subscription
|
|
44
|
+
*/
|
|
45
|
+
type: string;
|
|
46
|
+
/**
|
|
47
|
+
* The version of the subscription
|
|
48
|
+
*/
|
|
49
|
+
version: string;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The condition object for the subscription
|
|
54
|
+
*/
|
|
55
|
+
export interface Condition {
|
|
56
|
+
/**
|
|
57
|
+
* The ID of the broadcaster user
|
|
58
|
+
*/
|
|
59
|
+
broadcaster_user_id?: string;
|
|
60
|
+
[property: string]: unknown;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The transport object for the subscription
|
|
65
|
+
*/
|
|
66
|
+
export interface Transport {
|
|
67
|
+
/**
|
|
68
|
+
* The callback URL where the notifications are sent. The URL must use the HTTPS protocol
|
|
69
|
+
* and port 443. See Processing an event. Specify this field only if method is set to
|
|
70
|
+
* webhook.
|
|
71
|
+
*/
|
|
72
|
+
callback?: string;
|
|
73
|
+
/**
|
|
74
|
+
* The UTC date and time that the WebSocket connection was established. This is a
|
|
75
|
+
* response-only field that Create EventSub Subscription and Get EventSub Subscription
|
|
76
|
+
* returns if the method field is set to websocket.
|
|
77
|
+
*/
|
|
78
|
+
connected_at?: string;
|
|
79
|
+
/**
|
|
80
|
+
* The UTC date and time that the WebSocket connection was lost. This is a response-only
|
|
81
|
+
* field that Get EventSub Subscription returns if the method field is set to websocket.
|
|
82
|
+
*/
|
|
83
|
+
disconnected_at?: string;
|
|
84
|
+
/**
|
|
85
|
+
* The transport method
|
|
86
|
+
*/
|
|
87
|
+
method: Method;
|
|
88
|
+
/**
|
|
89
|
+
* The secret used to verify the signature. The secret must be an ASCII string that's a
|
|
90
|
+
* minimum of 10 characters long and a maximum of 100 characters long. For information about
|
|
91
|
+
* how the secret is used, see Verifying the event message. Specify this field only if
|
|
92
|
+
* method is set to webhook.
|
|
93
|
+
*/
|
|
94
|
+
secret?: string;
|
|
95
|
+
/**
|
|
96
|
+
* An ID that identifies the WebSocket to send notifications to. When you connect to
|
|
97
|
+
* EventSub using WebSockets, the server returns the ID in the Welcome message. Specify this
|
|
98
|
+
* field only if method is set to websocket.
|
|
99
|
+
*/
|
|
100
|
+
session_id?: string;
|
|
101
|
+
[property: string]: unknown;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* The transport method
|
|
106
|
+
*/
|
|
107
|
+
export type Method = "webhook" | "websocket";
|
|
108
|
+
|
|
10
109
|
export interface CutList {
|
|
110
|
+
/**
|
|
111
|
+
* Audio channel mixing and volume control configuration
|
|
112
|
+
*/
|
|
113
|
+
audioMixing?: AudioChannelMixing[];
|
|
11
114
|
/**
|
|
12
115
|
* List of input media sources
|
|
13
116
|
*/
|
|
@@ -26,6 +129,40 @@ export interface CutList {
|
|
|
26
129
|
version: "1.0.0";
|
|
27
130
|
}
|
|
28
131
|
|
|
132
|
+
/**
|
|
133
|
+
* Audio mixing configuration for a specific channel
|
|
134
|
+
*/
|
|
135
|
+
export interface AudioChannelMixing {
|
|
136
|
+
/**
|
|
137
|
+
* Volume keyframes for this channel throughout the timeline
|
|
138
|
+
*/
|
|
139
|
+
keyframes?: AudioChannelKeyframe[];
|
|
140
|
+
/**
|
|
141
|
+
* 0-indexed output audio channel number
|
|
142
|
+
*/
|
|
143
|
+
outputChannel: number;
|
|
144
|
+
/**
|
|
145
|
+
* 0-indexed source audio channel number
|
|
146
|
+
*/
|
|
147
|
+
sourceChannel: number;
|
|
148
|
+
[property: string]: unknown;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* A keyframe defining volume level for an audio channel at a specific timeline position
|
|
153
|
+
*/
|
|
154
|
+
export interface AudioChannelKeyframe {
|
|
155
|
+
/**
|
|
156
|
+
* Timeline frame position for this keyframe
|
|
157
|
+
*/
|
|
158
|
+
frame: number;
|
|
159
|
+
/**
|
|
160
|
+
* Volume level (0.0 = mute, 1.0 = original, >1.0 = amplified)
|
|
161
|
+
*/
|
|
162
|
+
volume: number;
|
|
163
|
+
[property: string]: unknown;
|
|
164
|
+
}
|
|
165
|
+
|
|
29
166
|
export interface InputMedia {
|
|
30
167
|
/**
|
|
31
168
|
* Path of the media
|
|
@@ -140,7 +277,7 @@ export type OverlayTrackType = "alpha" | "colorkey";
|
|
|
140
277
|
export interface Episode {
|
|
141
278
|
category?: number;
|
|
142
279
|
created_at?: string;
|
|
143
|
-
cut_list?:
|
|
280
|
+
cut_list?: EpisodeCutList;
|
|
144
281
|
description?: string;
|
|
145
282
|
error_message?: string;
|
|
146
283
|
id?: string;
|
|
@@ -163,7 +300,11 @@ export interface Episode {
|
|
|
163
300
|
youtube_video_id?: string;
|
|
164
301
|
}
|
|
165
302
|
|
|
166
|
-
export interface
|
|
303
|
+
export interface EpisodeCutList {
|
|
304
|
+
/**
|
|
305
|
+
* Audio channel mixing and volume control configuration
|
|
306
|
+
*/
|
|
307
|
+
audioMixing?: AudioChannelMixing[];
|
|
167
308
|
/**
|
|
168
309
|
* List of input media sources
|
|
169
310
|
*/
|
|
@@ -197,6 +338,50 @@ export interface Profile {
|
|
|
197
338
|
id: string;
|
|
198
339
|
}
|
|
199
340
|
|
|
341
|
+
export interface Project {
|
|
342
|
+
created_at?: string;
|
|
343
|
+
cut_list?: ProjectCutList;
|
|
344
|
+
/**
|
|
345
|
+
* Optional reference to the episode this project is linked to
|
|
346
|
+
*/
|
|
347
|
+
episode_id?: string;
|
|
348
|
+
id?: string;
|
|
349
|
+
/**
|
|
350
|
+
* Current status of the project - no backend validation enforced
|
|
351
|
+
*/
|
|
352
|
+
status?: string;
|
|
353
|
+
title?: string;
|
|
354
|
+
updated_at?: string;
|
|
355
|
+
user_id?: string;
|
|
356
|
+
/**
|
|
357
|
+
* Array of video clip IDs that are part of this project
|
|
358
|
+
*/
|
|
359
|
+
video_clip_ids?: string[];
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
export interface ProjectCutList {
|
|
363
|
+
/**
|
|
364
|
+
* Audio channel mixing and volume control configuration
|
|
365
|
+
*/
|
|
366
|
+
audioMixing?: AudioChannelMixing[];
|
|
367
|
+
/**
|
|
368
|
+
* List of input media sources
|
|
369
|
+
*/
|
|
370
|
+
inputMedia: InputMedia[];
|
|
371
|
+
/**
|
|
372
|
+
* Ordered media sections to form the output timeline sequence
|
|
373
|
+
*/
|
|
374
|
+
outputTrack: OutputTrack[];
|
|
375
|
+
/**
|
|
376
|
+
* One or more overlay tracks
|
|
377
|
+
*/
|
|
378
|
+
overlayTracks?: OverlayTrack[];
|
|
379
|
+
/**
|
|
380
|
+
* Schema version
|
|
381
|
+
*/
|
|
382
|
+
version: "1.0.0";
|
|
383
|
+
}
|
|
384
|
+
|
|
200
385
|
export interface RenderRequest {
|
|
201
386
|
episodeIds: string[];
|
|
202
387
|
}
|
|
@@ -277,6 +462,20 @@ export interface StreamIngestionRequest {
|
|
|
277
462
|
streamId: string;
|
|
278
463
|
}
|
|
279
464
|
|
|
465
|
+
export interface SubscribeChatRequest {
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
export interface SubscribeChatResponse {
|
|
469
|
+
/**
|
|
470
|
+
* The status of the subscription request
|
|
471
|
+
*/
|
|
472
|
+
status: string;
|
|
473
|
+
/**
|
|
474
|
+
* The ID of the created EventSub subscription, if successful
|
|
475
|
+
*/
|
|
476
|
+
subscription_id?: null | string;
|
|
477
|
+
}
|
|
478
|
+
|
|
280
479
|
/**
|
|
281
480
|
* A task represents a unit of work in the system, with a unique identifier, status,
|
|
282
481
|
* timestamps for creation and updates, type of task, and an associated record ID.
|
|
@@ -313,6 +512,18 @@ export interface TwitchCallbackResponse {
|
|
|
313
512
|
url: string;
|
|
314
513
|
}
|
|
315
514
|
|
|
515
|
+
export interface TwitchChatMessage {
|
|
516
|
+
channel_id: string;
|
|
517
|
+
event_type: string;
|
|
518
|
+
message: string;
|
|
519
|
+
sender_id: string;
|
|
520
|
+
timestamp: string;
|
|
521
|
+
ttl: number;
|
|
522
|
+
user_id: string;
|
|
523
|
+
user_login: string;
|
|
524
|
+
user_name: string;
|
|
525
|
+
}
|
|
526
|
+
|
|
316
527
|
export interface TwitchSessionSecret {
|
|
317
528
|
access_token?: string;
|
|
318
529
|
csrf_token: string;
|