@tixyel/streamelements 7.5.2 → 7.6.0
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/README.md +5 -3
- package/dist/index.d.ts +364 -348
- package/dist/index.es.js +742 -716
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,239 @@
|
|
|
7
7
|
import { ComfyJSInstance, OnErrorHandler, OnCommandHandler, OnChatHandler, OnWhisperHandler, OnMessageDeletedHandler, OnJoinHandler, OnPartHandler, OnHostedHandler, OnRaidHandler, OnSubHandler, OnResubHandler, OnSubGiftHandler, OnSubMysteryGiftHandler, OnGiftSubContinueHandler, OnCheerHandler, OnChatModeHandler, OnRewardHandler, OnConnectedHandler, OnReconnectHandler } from 'comfy.js';
|
|
8
8
|
export { ComfyJSInstance } from 'comfy.js';
|
|
9
9
|
|
|
10
|
+
type Provider$1 = 'twitch' | 'youtube' | 'kick' | 'facebook' | 'streamelements';
|
|
11
|
+
type ClientProviderEvents = {
|
|
12
|
+
streamelements: StreamElements.Event.Provider.StreamElements.Events;
|
|
13
|
+
twitch: StreamElements.Event.Provider.Twitch.Events;
|
|
14
|
+
youtube: StreamElements.Event.Provider.YouTube.Events;
|
|
15
|
+
kick: StreamElements.Event.Provider.Kick.Events;
|
|
16
|
+
facebook: StreamElements.Event.Provider.Facebook.Events;
|
|
17
|
+
};
|
|
18
|
+
type ClientCustomEventPayload = {
|
|
19
|
+
provider: 'custom';
|
|
20
|
+
};
|
|
21
|
+
type ClientCustomProviderEvents = Record<string, ClientCustomEventPayload>;
|
|
22
|
+
type ValidateCustomProviderEvents<CustomEvents> = CustomEvents extends Record<string, unknown> ? {
|
|
23
|
+
[K in keyof CustomEvents]: CustomEvents[K] extends ClientCustomEventPayload ? CustomEvents[K] : never;
|
|
24
|
+
} : {};
|
|
25
|
+
type ClientAllProviderEvents<CustomEvents = {}> = ClientProviderEvents & ValidateCustomProviderEvents<CustomEvents>;
|
|
26
|
+
type ClientEvents<CustomEvents = {}> = {
|
|
27
|
+
[K in keyof ClientAllProviderEvents<CustomEvents> & string]: {
|
|
28
|
+
provider: K;
|
|
29
|
+
data: ClientAllProviderEvents<CustomEvents>[K];
|
|
30
|
+
};
|
|
31
|
+
}[keyof ClientAllProviderEvents<CustomEvents> & string];
|
|
32
|
+
type ClientEventTuple<CustomEvents = {}> = {
|
|
33
|
+
[K in keyof ClientAllProviderEvents<CustomEvents> & string]: [
|
|
34
|
+
provider: K,
|
|
35
|
+
event: ClientAllProviderEvents<CustomEvents>[K]
|
|
36
|
+
];
|
|
37
|
+
}[keyof ClientAllProviderEvents<CustomEvents> & string];
|
|
38
|
+
|
|
39
|
+
declare namespace StreamElementsEvents {
|
|
40
|
+
namespace Tip {
|
|
41
|
+
type Data = {
|
|
42
|
+
listener: 'tip-latest';
|
|
43
|
+
event: Event;
|
|
44
|
+
};
|
|
45
|
+
type Event = {
|
|
46
|
+
amount: number;
|
|
47
|
+
avatar: string;
|
|
48
|
+
name: string;
|
|
49
|
+
displayName: string;
|
|
50
|
+
providerId: string;
|
|
51
|
+
_id: string;
|
|
52
|
+
sessionTop: boolean;
|
|
53
|
+
type: 'tip';
|
|
54
|
+
originalEventName: 'tip-latest';
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
namespace KVStore {
|
|
58
|
+
type Data = {
|
|
59
|
+
listener: 'kvstore:update';
|
|
60
|
+
event: Event;
|
|
61
|
+
};
|
|
62
|
+
type Event = {
|
|
63
|
+
data: {
|
|
64
|
+
key: `customWidget.${string}`;
|
|
65
|
+
value: string | number | boolean | Record<string, any>;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
namespace BotCounter {
|
|
70
|
+
type Data = {
|
|
71
|
+
listener: 'bot:counter';
|
|
72
|
+
event: Event;
|
|
73
|
+
};
|
|
74
|
+
type Event = {
|
|
75
|
+
counter: string;
|
|
76
|
+
value: number;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
namespace AlertService {
|
|
80
|
+
type Data = {
|
|
81
|
+
listener: 'alertService:toggleSound';
|
|
82
|
+
event: Event;
|
|
83
|
+
};
|
|
84
|
+
type Event = {
|
|
85
|
+
muted: boolean;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
namespace EventSkip {
|
|
89
|
+
type Data = {
|
|
90
|
+
listener: 'event:skip';
|
|
91
|
+
event: Event;
|
|
92
|
+
};
|
|
93
|
+
type Event = {};
|
|
94
|
+
}
|
|
95
|
+
namespace EventTest {
|
|
96
|
+
export type Data = {
|
|
97
|
+
listener: 'event:test';
|
|
98
|
+
event: Event;
|
|
99
|
+
};
|
|
100
|
+
export type Event = widgetButton | emulatedEvents<EventType> | Session;
|
|
101
|
+
type items = {
|
|
102
|
+
name: string;
|
|
103
|
+
price: number;
|
|
104
|
+
quantity: number;
|
|
105
|
+
};
|
|
106
|
+
type widgetButton = {
|
|
107
|
+
listener: 'widget-button';
|
|
108
|
+
field: string;
|
|
109
|
+
value: string | number | boolean;
|
|
110
|
+
};
|
|
111
|
+
type EventType = 'follower' | 'subscriber' | 'tip' | 'cheer' | 'raid';
|
|
112
|
+
type EventTier = 'prime' | '1000' | '2000' | '3000';
|
|
113
|
+
type emulatedEvents<T extends EventType> = {
|
|
114
|
+
listener: `${T}-latest`;
|
|
115
|
+
event: {
|
|
116
|
+
type: T;
|
|
117
|
+
name: string;
|
|
118
|
+
amount: number;
|
|
119
|
+
count: number;
|
|
120
|
+
message?: string;
|
|
121
|
+
gifted?: boolean;
|
|
122
|
+
bulkGifted?: boolean;
|
|
123
|
+
sender?: string;
|
|
124
|
+
subExtension?: boolean;
|
|
125
|
+
items: items[];
|
|
126
|
+
tier: EventTier;
|
|
127
|
+
month: string;
|
|
128
|
+
isTest: true;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
type Session = SessionCount | SessionTotal | SessionTop | SessionGoal | SessionRecent | SessionPoints;
|
|
132
|
+
type SessionCount = {
|
|
133
|
+
listener: `${EventType}-count`;
|
|
134
|
+
event: {
|
|
135
|
+
type: EventType;
|
|
136
|
+
name: string;
|
|
137
|
+
count: number;
|
|
138
|
+
items: items[];
|
|
139
|
+
tier: EventTier;
|
|
140
|
+
month: string;
|
|
141
|
+
isTest: true;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
type SessionTotal = {
|
|
145
|
+
listener: `${EventType}-total`;
|
|
146
|
+
event: {
|
|
147
|
+
type: EventType;
|
|
148
|
+
name: string;
|
|
149
|
+
amount: number;
|
|
150
|
+
count: number;
|
|
151
|
+
items: items[];
|
|
152
|
+
tier: EventTier;
|
|
153
|
+
month: string;
|
|
154
|
+
isTest: true;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
type SessionTop = {
|
|
158
|
+
listener: `${EventType}-top`;
|
|
159
|
+
event: {
|
|
160
|
+
type: EventType;
|
|
161
|
+
name: string;
|
|
162
|
+
amount: number;
|
|
163
|
+
count: number;
|
|
164
|
+
items: items[];
|
|
165
|
+
tier: EventTier;
|
|
166
|
+
month: string;
|
|
167
|
+
isTest: true;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
type SessionGoal = {
|
|
171
|
+
listener: `${EventType}-goal`;
|
|
172
|
+
event: {
|
|
173
|
+
type: EventType;
|
|
174
|
+
name: string;
|
|
175
|
+
amount: number;
|
|
176
|
+
count: number;
|
|
177
|
+
items: items[];
|
|
178
|
+
tier: EventTier;
|
|
179
|
+
month: string;
|
|
180
|
+
isTest: true;
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
type SessionRecent = {
|
|
184
|
+
listener: `${EventType}-recent`;
|
|
185
|
+
event: {
|
|
186
|
+
event: SessionRecentEvent[];
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
type SessionRecentEvent = {
|
|
190
|
+
type: EventType;
|
|
191
|
+
name: string;
|
|
192
|
+
amount: number;
|
|
193
|
+
count: number;
|
|
194
|
+
tier: EventTier;
|
|
195
|
+
isTest: true;
|
|
196
|
+
};
|
|
197
|
+
type SessionPoints = {
|
|
198
|
+
listener: `${EventType}-points`;
|
|
199
|
+
event: {
|
|
200
|
+
type: EventType;
|
|
201
|
+
name: string;
|
|
202
|
+
amount: number;
|
|
203
|
+
count: number;
|
|
204
|
+
items: items[];
|
|
205
|
+
tier: EventTier;
|
|
206
|
+
month: string;
|
|
207
|
+
isTest: true;
|
|
208
|
+
};
|
|
209
|
+
};
|
|
210
|
+
export {};
|
|
211
|
+
}
|
|
212
|
+
interface BaseEvent {
|
|
213
|
+
provider: Provider$1;
|
|
214
|
+
flagged: boolean;
|
|
215
|
+
channel: string;
|
|
216
|
+
createdAt: string;
|
|
217
|
+
_id: string;
|
|
218
|
+
expiresAt: string;
|
|
219
|
+
updatedAt: string;
|
|
220
|
+
activityId: string;
|
|
221
|
+
sessionEventsCount: number;
|
|
222
|
+
isMock?: boolean;
|
|
223
|
+
}
|
|
224
|
+
namespace Event {
|
|
225
|
+
type Data = {
|
|
226
|
+
listener: 'event';
|
|
227
|
+
event: Event;
|
|
228
|
+
};
|
|
229
|
+
type Event = Tip;
|
|
230
|
+
interface Tip extends BaseEvent {
|
|
231
|
+
type: 'tip';
|
|
232
|
+
data: {
|
|
233
|
+
amount: string;
|
|
234
|
+
currency: string;
|
|
235
|
+
username: string;
|
|
236
|
+
message: string;
|
|
237
|
+
avatar: string;
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
10
243
|
type TwitchEmote = {
|
|
11
244
|
type: 'twitch';
|
|
12
245
|
name: string;
|
|
@@ -1385,368 +1618,80 @@ declare namespace StreamElements {
|
|
|
1385
1618
|
amount: number;
|
|
1386
1619
|
};
|
|
1387
1620
|
'tip-alltime-top-donation': {
|
|
1388
|
-
name: string;
|
|
1389
|
-
amount: number;
|
|
1390
|
-
};
|
|
1391
|
-
'tip-session-top-donator': {
|
|
1392
|
-
name: string;
|
|
1393
|
-
amount: number;
|
|
1394
|
-
};
|
|
1395
|
-
'tip-weekly-top-donator': {
|
|
1396
|
-
name: string;
|
|
1397
|
-
amount: number;
|
|
1398
|
-
};
|
|
1399
|
-
'tip-monthly-top-donator': {
|
|
1400
|
-
name: string;
|
|
1401
|
-
amount: number;
|
|
1402
|
-
};
|
|
1403
|
-
'tip-alltime-top-donator': {
|
|
1404
|
-
name: string;
|
|
1405
|
-
amount: number;
|
|
1406
|
-
};
|
|
1407
|
-
'tip-session': {
|
|
1408
|
-
amount: number;
|
|
1409
|
-
};
|
|
1410
|
-
'tip-week': {
|
|
1411
|
-
amount: number;
|
|
1412
|
-
};
|
|
1413
|
-
'tip-month': {
|
|
1414
|
-
amount: number;
|
|
1415
|
-
};
|
|
1416
|
-
'tip-total': {
|
|
1417
|
-
amount: number;
|
|
1418
|
-
};
|
|
1419
|
-
'tip-count': {
|
|
1420
|
-
count: number;
|
|
1421
|
-
};
|
|
1422
|
-
'tip-goal': {
|
|
1423
|
-
amount: number;
|
|
1424
|
-
};
|
|
1425
|
-
'tip-recent': {
|
|
1426
|
-
name: string;
|
|
1427
|
-
amount: number;
|
|
1428
|
-
createdAt: string;
|
|
1429
|
-
}[];
|
|
1430
|
-
}
|
|
1431
|
-
interface Merch {
|
|
1432
|
-
'merch-latest': {
|
|
1433
|
-
name: string;
|
|
1434
|
-
amount: number;
|
|
1435
|
-
items: any[];
|
|
1436
|
-
};
|
|
1437
|
-
'merch-goal-orders': {
|
|
1438
|
-
amount: number;
|
|
1439
|
-
};
|
|
1440
|
-
'merch-goal-items': {
|
|
1441
|
-
amount: number;
|
|
1442
|
-
};
|
|
1443
|
-
'merch-goal-total': {
|
|
1444
|
-
amount: number;
|
|
1445
|
-
};
|
|
1446
|
-
'merch-recent': {
|
|
1447
|
-
name: string;
|
|
1448
|
-
}[];
|
|
1449
|
-
}
|
|
1450
|
-
interface Purchase {
|
|
1451
|
-
'purchase-latest': {
|
|
1452
|
-
name: string;
|
|
1453
|
-
amount: number;
|
|
1454
|
-
items: any[];
|
|
1455
|
-
avatar: string;
|
|
1456
|
-
message: string;
|
|
1457
|
-
};
|
|
1458
|
-
}
|
|
1459
|
-
}
|
|
1460
|
-
}
|
|
1461
|
-
|
|
1462
|
-
type Provider$1 = 'twitch' | 'youtube' | 'kick' | 'facebook' | 'streamelements';
|
|
1463
|
-
type ClientProviderEvents = {
|
|
1464
|
-
streamelements: StreamElements.Event.Provider.StreamElements.Events;
|
|
1465
|
-
twitch: StreamElements.Event.Provider.Twitch.Events;
|
|
1466
|
-
youtube: StreamElements.Event.Provider.YouTube.Events;
|
|
1467
|
-
kick: StreamElements.Event.Provider.Kick.Events;
|
|
1468
|
-
facebook: StreamElements.Event.Provider.Facebook.Events;
|
|
1469
|
-
};
|
|
1470
|
-
type ClientCustomEventPayload = {
|
|
1471
|
-
provider: 'custom';
|
|
1472
|
-
};
|
|
1473
|
-
type ClientCustomProviderEvents = Record<string, ClientCustomEventPayload>;
|
|
1474
|
-
type ValidateCustomProviderEvents<CustomEvents> = CustomEvents extends Record<string, unknown> ? {
|
|
1475
|
-
[K in keyof CustomEvents]: CustomEvents[K] extends ClientCustomEventPayload ? CustomEvents[K] : never;
|
|
1476
|
-
} : {};
|
|
1477
|
-
type ClientAllProviderEvents<CustomEvents = {}> = ClientProviderEvents & ValidateCustomProviderEvents<CustomEvents>;
|
|
1478
|
-
type ClientEvents<CustomEvents = {}> = {
|
|
1479
|
-
[K in keyof ClientAllProviderEvents<CustomEvents> & string]: {
|
|
1480
|
-
provider: K;
|
|
1481
|
-
data: ClientAllProviderEvents<CustomEvents>[K];
|
|
1482
|
-
};
|
|
1483
|
-
}[keyof ClientAllProviderEvents<CustomEvents> & string];
|
|
1484
|
-
type ClientEventTuple<CustomEvents = {}> = {
|
|
1485
|
-
[K in keyof ClientAllProviderEvents<CustomEvents> & string]: [
|
|
1486
|
-
provider: K,
|
|
1487
|
-
event: ClientAllProviderEvents<CustomEvents>[K]
|
|
1488
|
-
];
|
|
1489
|
-
}[keyof ClientAllProviderEvents<CustomEvents> & string];
|
|
1490
|
-
|
|
1491
|
-
declare namespace StreamElementsEvents {
|
|
1492
|
-
namespace Tip {
|
|
1493
|
-
type Data = {
|
|
1494
|
-
listener: 'tip-latest';
|
|
1495
|
-
event: Event;
|
|
1496
|
-
};
|
|
1497
|
-
type Event = {
|
|
1498
|
-
amount: number;
|
|
1499
|
-
avatar: string;
|
|
1500
|
-
name: string;
|
|
1501
|
-
displayName: string;
|
|
1502
|
-
providerId: string;
|
|
1503
|
-
_id: string;
|
|
1504
|
-
sessionTop: boolean;
|
|
1505
|
-
type: 'tip';
|
|
1506
|
-
originalEventName: 'tip-latest';
|
|
1507
|
-
};
|
|
1508
|
-
}
|
|
1509
|
-
namespace KVStore {
|
|
1510
|
-
type Data = {
|
|
1511
|
-
listener: 'kvstore:update';
|
|
1512
|
-
event: Event;
|
|
1513
|
-
};
|
|
1514
|
-
type Event = {
|
|
1515
|
-
data: {
|
|
1516
|
-
key: `customWidget.${string}`;
|
|
1517
|
-
value: string | number | boolean | Record<string, any>;
|
|
1518
|
-
};
|
|
1519
|
-
};
|
|
1520
|
-
}
|
|
1521
|
-
namespace BotCounter {
|
|
1522
|
-
type Data = {
|
|
1523
|
-
listener: 'bot:counter';
|
|
1524
|
-
event: Event;
|
|
1525
|
-
};
|
|
1526
|
-
type Event = {
|
|
1527
|
-
counter: string;
|
|
1528
|
-
value: number;
|
|
1529
|
-
};
|
|
1530
|
-
}
|
|
1531
|
-
namespace AlertService {
|
|
1532
|
-
type Data = {
|
|
1533
|
-
listener: 'alertService:toggleSound';
|
|
1534
|
-
event: Event;
|
|
1535
|
-
};
|
|
1536
|
-
type Event = {
|
|
1537
|
-
muted: boolean;
|
|
1538
|
-
};
|
|
1539
|
-
}
|
|
1540
|
-
namespace EventSkip {
|
|
1541
|
-
type Data = {
|
|
1542
|
-
listener: 'event:skip';
|
|
1543
|
-
event: Event;
|
|
1544
|
-
};
|
|
1545
|
-
type Event = {};
|
|
1546
|
-
}
|
|
1547
|
-
namespace EventTest {
|
|
1548
|
-
export type Data = {
|
|
1549
|
-
listener: 'event:test';
|
|
1550
|
-
event: Event;
|
|
1551
|
-
};
|
|
1552
|
-
export type Event = widgetButton | emulatedEvents<EventType> | Session;
|
|
1553
|
-
type items = {
|
|
1554
|
-
name: string;
|
|
1555
|
-
price: number;
|
|
1556
|
-
quantity: number;
|
|
1557
|
-
};
|
|
1558
|
-
type widgetButton = {
|
|
1559
|
-
listener: 'widget-button';
|
|
1560
|
-
field: string;
|
|
1561
|
-
value: string | number | boolean;
|
|
1562
|
-
};
|
|
1563
|
-
type EventType = 'follower' | 'subscriber' | 'tip' | 'cheer' | 'raid';
|
|
1564
|
-
type EventTier = 'prime' | '1000' | '2000' | '3000';
|
|
1565
|
-
type emulatedEvents<T extends EventType> = {
|
|
1566
|
-
listener: `${T}-latest`;
|
|
1567
|
-
event: {
|
|
1568
|
-
type: T;
|
|
1569
|
-
name: string;
|
|
1570
|
-
amount: number;
|
|
1571
|
-
count: number;
|
|
1572
|
-
message?: string;
|
|
1573
|
-
gifted?: boolean;
|
|
1574
|
-
bulkGifted?: boolean;
|
|
1575
|
-
sender?: string;
|
|
1576
|
-
subExtension?: boolean;
|
|
1577
|
-
items: items[];
|
|
1578
|
-
tier: EventTier;
|
|
1579
|
-
month: string;
|
|
1580
|
-
isTest: true;
|
|
1621
|
+
name: string;
|
|
1622
|
+
amount: number;
|
|
1581
1623
|
};
|
|
1582
|
-
|
|
1583
|
-
type Session = SessionCount | SessionTotal | SessionTop | SessionGoal | SessionRecent | SessionPoints;
|
|
1584
|
-
type SessionCount = {
|
|
1585
|
-
listener: `${EventType}-count`;
|
|
1586
|
-
event: {
|
|
1587
|
-
type: EventType;
|
|
1624
|
+
'tip-session-top-donator': {
|
|
1588
1625
|
name: string;
|
|
1589
|
-
|
|
1590
|
-
items: items[];
|
|
1591
|
-
tier: EventTier;
|
|
1592
|
-
month: string;
|
|
1593
|
-
isTest: true;
|
|
1626
|
+
amount: number;
|
|
1594
1627
|
};
|
|
1595
|
-
|
|
1596
|
-
type SessionTotal = {
|
|
1597
|
-
listener: `${EventType}-total`;
|
|
1598
|
-
event: {
|
|
1599
|
-
type: EventType;
|
|
1628
|
+
'tip-weekly-top-donator': {
|
|
1600
1629
|
name: string;
|
|
1601
1630
|
amount: number;
|
|
1602
|
-
count: number;
|
|
1603
|
-
items: items[];
|
|
1604
|
-
tier: EventTier;
|
|
1605
|
-
month: string;
|
|
1606
|
-
isTest: true;
|
|
1607
1631
|
};
|
|
1608
|
-
|
|
1609
|
-
type SessionTop = {
|
|
1610
|
-
listener: `${EventType}-top`;
|
|
1611
|
-
event: {
|
|
1612
|
-
type: EventType;
|
|
1632
|
+
'tip-monthly-top-donator': {
|
|
1613
1633
|
name: string;
|
|
1614
1634
|
amount: number;
|
|
1615
|
-
count: number;
|
|
1616
|
-
items: items[];
|
|
1617
|
-
tier: EventTier;
|
|
1618
|
-
month: string;
|
|
1619
|
-
isTest: true;
|
|
1620
1635
|
};
|
|
1621
|
-
|
|
1622
|
-
type SessionGoal = {
|
|
1623
|
-
listener: `${EventType}-goal`;
|
|
1624
|
-
event: {
|
|
1625
|
-
type: EventType;
|
|
1636
|
+
'tip-alltime-top-donator': {
|
|
1626
1637
|
name: string;
|
|
1627
1638
|
amount: number;
|
|
1639
|
+
};
|
|
1640
|
+
'tip-session': {
|
|
1641
|
+
amount: number;
|
|
1642
|
+
};
|
|
1643
|
+
'tip-week': {
|
|
1644
|
+
amount: number;
|
|
1645
|
+
};
|
|
1646
|
+
'tip-month': {
|
|
1647
|
+
amount: number;
|
|
1648
|
+
};
|
|
1649
|
+
'tip-total': {
|
|
1650
|
+
amount: number;
|
|
1651
|
+
};
|
|
1652
|
+
'tip-count': {
|
|
1628
1653
|
count: number;
|
|
1629
|
-
items: items[];
|
|
1630
|
-
tier: EventTier;
|
|
1631
|
-
month: string;
|
|
1632
|
-
isTest: true;
|
|
1633
1654
|
};
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
listener: `${EventType}-recent`;
|
|
1637
|
-
event: {
|
|
1638
|
-
event: SessionRecentEvent[];
|
|
1655
|
+
'tip-goal': {
|
|
1656
|
+
amount: number;
|
|
1639
1657
|
};
|
|
1640
|
-
|
|
1641
|
-
type SessionRecentEvent = {
|
|
1642
|
-
type: EventType;
|
|
1643
|
-
name: string;
|
|
1644
|
-
amount: number;
|
|
1645
|
-
count: number;
|
|
1646
|
-
tier: EventTier;
|
|
1647
|
-
isTest: true;
|
|
1648
|
-
};
|
|
1649
|
-
type SessionPoints = {
|
|
1650
|
-
listener: `${EventType}-points`;
|
|
1651
|
-
event: {
|
|
1652
|
-
type: EventType;
|
|
1658
|
+
'tip-recent': {
|
|
1653
1659
|
name: string;
|
|
1654
1660
|
amount: number;
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1661
|
+
createdAt: string;
|
|
1662
|
+
}[];
|
|
1663
|
+
}
|
|
1664
|
+
interface Merch {
|
|
1665
|
+
'merch-latest': {
|
|
1666
|
+
name: string;
|
|
1667
|
+
amount: number;
|
|
1668
|
+
items: any[];
|
|
1660
1669
|
};
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
event: Event;
|
|
1680
|
-
};
|
|
1681
|
-
type Event = Tip;
|
|
1682
|
-
interface Tip extends BaseEvent {
|
|
1683
|
-
type: 'tip';
|
|
1684
|
-
data: {
|
|
1685
|
-
amount: string;
|
|
1686
|
-
currency: string;
|
|
1687
|
-
username: string;
|
|
1688
|
-
message: string;
|
|
1670
|
+
'merch-goal-orders': {
|
|
1671
|
+
amount: number;
|
|
1672
|
+
};
|
|
1673
|
+
'merch-goal-items': {
|
|
1674
|
+
amount: number;
|
|
1675
|
+
};
|
|
1676
|
+
'merch-goal-total': {
|
|
1677
|
+
amount: number;
|
|
1678
|
+
};
|
|
1679
|
+
'merch-recent': {
|
|
1680
|
+
name: string;
|
|
1681
|
+
}[];
|
|
1682
|
+
}
|
|
1683
|
+
interface Purchase {
|
|
1684
|
+
'purchase-latest': {
|
|
1685
|
+
name: string;
|
|
1686
|
+
amount: number;
|
|
1687
|
+
items: any[];
|
|
1689
1688
|
avatar: string;
|
|
1689
|
+
message: string;
|
|
1690
1690
|
};
|
|
1691
1691
|
}
|
|
1692
1692
|
}
|
|
1693
1693
|
}
|
|
1694
1694
|
|
|
1695
|
-
type JSONPrimitive = string | number | boolean | null;
|
|
1696
|
-
type JSONSerializable = JSONPrimitive | JSONSerializable[] | {
|
|
1697
|
-
[k: string]: JSONSerializable | undefined;
|
|
1698
|
-
};
|
|
1699
|
-
type JSONObject = {
|
|
1700
|
-
[key: string]: JSONSerializable | undefined;
|
|
1701
|
-
};
|
|
1702
|
-
|
|
1703
|
-
type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
|
|
1704
|
-
[K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
|
|
1705
|
-
}[Keys];
|
|
1706
|
-
|
|
1707
|
-
interface ButtonOptions {
|
|
1708
|
-
field: string | ((field: string, value: string | boolean | number) => boolean);
|
|
1709
|
-
template?: string;
|
|
1710
|
-
name?: string;
|
|
1711
|
-
value?: string;
|
|
1712
|
-
run: (this: Client | undefined, field: string, value: string | boolean | number) => void;
|
|
1713
|
-
}
|
|
1714
|
-
/**
|
|
1715
|
-
* Represents a button action that can be triggered by custom fields in StreamElements.
|
|
1716
|
-
* The button can be configured with a template and a name, and it will execute a specified function when triggered.
|
|
1717
|
-
* @example
|
|
1718
|
-
* ```javascript
|
|
1719
|
-
* const button = new Button({
|
|
1720
|
-
* field: (field, value) => field.startsWith('message-') && field.split('-')[1],
|
|
1721
|
-
* template: 'message-{role}',
|
|
1722
|
-
* // name: '[CAP={role}] role message',
|
|
1723
|
-
* name: 'Generate {role} message',
|
|
1724
|
-
* run(field, value) {
|
|
1725
|
-
* console.log(`Button ${field} was clicked with value: ${value}`);
|
|
1726
|
-
* }
|
|
1727
|
-
* })
|
|
1728
|
-
*
|
|
1729
|
-
* const field = button.generate([{ role: 'broadcaster' }, { role: 'moderator' }]);
|
|
1730
|
-
* // This will create buttons with fields "message-broadcaster" and "message-moderator" and names "Generate broadcaster message" and "Generate moderator message".
|
|
1731
|
-
* // field['message-broadcaster'] => { type: 'button', label: 'Generate broadcaster message' }
|
|
1732
|
-
* // field['message-moderator'] => { type: 'button', label: 'Generate moderator message' }
|
|
1733
|
-
*
|
|
1734
|
-
* // When a custom field with the name "message-broadcaster" or "message-moderator" is triggered, the run function will be called with the field and value.
|
|
1735
|
-
* ```
|
|
1736
|
-
*/
|
|
1737
|
-
declare class Button {
|
|
1738
|
-
field: ButtonOptions['field'];
|
|
1739
|
-
template: string;
|
|
1740
|
-
name: string;
|
|
1741
|
-
value: string;
|
|
1742
|
-
run: ButtonOptions['run'];
|
|
1743
|
-
constructor(options: ButtonOptions);
|
|
1744
|
-
generate(values: Array<Record<string, string | number>>): Record<string, StreamElements.CustomField.Schema>;
|
|
1745
|
-
parse(field: string, value: string | boolean | number): Button;
|
|
1746
|
-
remove(): void;
|
|
1747
|
-
static execute(field: string, value: string | boolean | number): boolean;
|
|
1748
|
-
}
|
|
1749
|
-
|
|
1750
1695
|
interface CommandOptions {
|
|
1751
1696
|
prefix?: string;
|
|
1752
1697
|
name: string;
|
|
@@ -1842,6 +1787,14 @@ declare class EventProvider<EventMap extends Record<string, any[]> = Record<stri
|
|
|
1842
1787
|
removeAllListeners<K extends keyof EventMap>(eventName: K): this;
|
|
1843
1788
|
}
|
|
1844
1789
|
|
|
1790
|
+
type JSONPrimitive = string | number | boolean | null;
|
|
1791
|
+
type JSONSerializable = JSONPrimitive | JSONSerializable[] | {
|
|
1792
|
+
[k: string]: JSONSerializable | undefined;
|
|
1793
|
+
};
|
|
1794
|
+
type JSONObject = {
|
|
1795
|
+
[key: string]: JSONSerializable | undefined;
|
|
1796
|
+
};
|
|
1797
|
+
|
|
1845
1798
|
type UseStorageEvents<T> = {
|
|
1846
1799
|
load: [T | null];
|
|
1847
1800
|
update: [T];
|
|
@@ -1974,6 +1927,53 @@ declare class Client<CustomEvents = {}> extends EventProvider<ClientMapEvents<Cu
|
|
|
1974
1927
|
on<K extends keyof ClientMapEvents<CustomEvents>>(eventName: K, callback: (this: Client<CustomEvents>, ...args: ClientMapEvents<CustomEvents>[K]) => void): this;
|
|
1975
1928
|
}
|
|
1976
1929
|
|
|
1930
|
+
type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
|
|
1931
|
+
[K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
|
|
1932
|
+
}[Keys];
|
|
1933
|
+
|
|
1934
|
+
interface ButtonOptions {
|
|
1935
|
+
field: string | ((field: string, value: string | boolean | number) => boolean);
|
|
1936
|
+
template?: string;
|
|
1937
|
+
name?: string;
|
|
1938
|
+
value?: string;
|
|
1939
|
+
run: (this: Client | undefined, field: string, value: string | boolean | number) => void;
|
|
1940
|
+
}
|
|
1941
|
+
/**
|
|
1942
|
+
* Represents a button action that can be triggered by custom fields in StreamElements.
|
|
1943
|
+
* The button can be configured with a template and a name, and it will execute a specified function when triggered.
|
|
1944
|
+
* @example
|
|
1945
|
+
* ```javascript
|
|
1946
|
+
* const button = new Button({
|
|
1947
|
+
* field: (field, value) => field.startsWith('message-') && field.split('-')[1],
|
|
1948
|
+
* template: 'message-{role}',
|
|
1949
|
+
* // name: '[CAP={role}] role message',
|
|
1950
|
+
* name: 'Generate {role} message',
|
|
1951
|
+
* run(field, value) {
|
|
1952
|
+
* console.log(`Button ${field} was clicked with value: ${value}`);
|
|
1953
|
+
* }
|
|
1954
|
+
* })
|
|
1955
|
+
*
|
|
1956
|
+
* const field = button.generate([{ role: 'broadcaster' }, { role: 'moderator' }]);
|
|
1957
|
+
* // This will create buttons with fields "message-broadcaster" and "message-moderator" and names "Generate broadcaster message" and "Generate moderator message".
|
|
1958
|
+
* // field['message-broadcaster'] => { type: 'button', label: 'Generate broadcaster message' }
|
|
1959
|
+
* // field['message-moderator'] => { type: 'button', label: 'Generate moderator message' }
|
|
1960
|
+
*
|
|
1961
|
+
* // When a custom field with the name "message-broadcaster" or "message-moderator" is triggered, the run function will be called with the field and value.
|
|
1962
|
+
* ```
|
|
1963
|
+
*/
|
|
1964
|
+
declare class Button {
|
|
1965
|
+
field: ButtonOptions['field'];
|
|
1966
|
+
template: string;
|
|
1967
|
+
name: string;
|
|
1968
|
+
value: string;
|
|
1969
|
+
run: ButtonOptions['run'];
|
|
1970
|
+
constructor(options: ButtonOptions);
|
|
1971
|
+
generate(values: Array<Record<string, string | number>>): Record<string, StreamElements.CustomField.Schema>;
|
|
1972
|
+
parse(field: string, value: string | boolean | number): Button;
|
|
1973
|
+
remove(): void;
|
|
1974
|
+
static execute(field: string, value: string | boolean | number): boolean;
|
|
1975
|
+
}
|
|
1976
|
+
|
|
1977
1977
|
interface Theme {
|
|
1978
1978
|
color?: string;
|
|
1979
1979
|
background?: string;
|
|
@@ -3652,6 +3652,30 @@ declare class useComms<T extends MessageMap> extends EventProvider<BaseEvents<T>
|
|
|
3652
3652
|
on<K extends keyof BaseEvents<T>>(eventName: K, callback: (this: useComms<T>, ...args: BaseEvents<T>[K]) => void): this;
|
|
3653
3653
|
}
|
|
3654
3654
|
|
|
3655
|
+
declare const usedClients: Client[];
|
|
3656
|
+
declare const usedStorages: Array<useStorage<any>>;
|
|
3657
|
+
declare const usedComms: Array<useComms<any>>;
|
|
3658
|
+
declare const usedCommands: Command[];
|
|
3659
|
+
declare const usedButtons: Button[];
|
|
3660
|
+
declare const fakeUserPools: FakeUserPool[];
|
|
3661
|
+
|
|
3662
|
+
declare const internals_fakeUserPools: typeof fakeUserPools;
|
|
3663
|
+
declare const internals_usedButtons: typeof usedButtons;
|
|
3664
|
+
declare const internals_usedClients: typeof usedClients;
|
|
3665
|
+
declare const internals_usedCommands: typeof usedCommands;
|
|
3666
|
+
declare const internals_usedComms: typeof usedComms;
|
|
3667
|
+
declare const internals_usedStorages: typeof usedStorages;
|
|
3668
|
+
declare namespace internals {
|
|
3669
|
+
export {
|
|
3670
|
+
internals_fakeUserPools as fakeUserPools,
|
|
3671
|
+
internals_usedButtons as usedButtons,
|
|
3672
|
+
internals_usedClients as usedClients,
|
|
3673
|
+
internals_usedCommands as usedCommands,
|
|
3674
|
+
internals_usedComms as usedComms,
|
|
3675
|
+
internals_usedStorages as usedStorages,
|
|
3676
|
+
};
|
|
3677
|
+
}
|
|
3678
|
+
|
|
3655
3679
|
declare const main: {
|
|
3656
3680
|
SeAPI: Promise<StreamElements.SE_API>;
|
|
3657
3681
|
Client: typeof Client;
|
|
@@ -3674,13 +3698,7 @@ declare const main: {
|
|
|
3674
3698
|
multistream: {
|
|
3675
3699
|
useComfyJs: typeof useComfyJs;
|
|
3676
3700
|
};
|
|
3677
|
-
internal:
|
|
3678
|
-
usedStorages: useStorage<any>[];
|
|
3679
|
-
usedComms: useComms<any>[];
|
|
3680
|
-
usedCommands: Command[];
|
|
3681
|
-
usedButtons: Button[];
|
|
3682
|
-
fakeUserPools: FakeUserPool[];
|
|
3683
|
-
};
|
|
3701
|
+
internal: typeof internals;
|
|
3684
3702
|
pronouns: {
|
|
3685
3703
|
Alejo: typeof Alejo;
|
|
3686
3704
|
};
|
|
@@ -3689,7 +3707,6 @@ declare const main: {
|
|
|
3689
3707
|
declare global {
|
|
3690
3708
|
interface Window {
|
|
3691
3709
|
Tixyel: typeof main;
|
|
3692
|
-
client: Client | undefined;
|
|
3693
3710
|
ComfyJS?: ComfyJSInstance;
|
|
3694
3711
|
}
|
|
3695
3712
|
interface WindowEventMap {
|
|
@@ -3698,7 +3715,6 @@ declare global {
|
|
|
3698
3715
|
onEventReceived: CustomEvent<StreamElements.Event.onEventReceived>;
|
|
3699
3716
|
}
|
|
3700
3717
|
const Tixyel: typeof main;
|
|
3701
|
-
let client: Client | undefined;
|
|
3702
3718
|
const SE_API: StreamElements.SE_API;
|
|
3703
3719
|
}
|
|
3704
3720
|
|