@tixyel/streamelements 5.2.0 → 5.3.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/dist/index.d.ts +341 -311
- package/dist/index.es.js +441 -411
- 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 +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -6,243 +6,6 @@
|
|
|
6
6
|
|
|
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
|
|
|
9
|
-
interface ButtonOptions {
|
|
10
|
-
field: string | ((field: string, value: string | boolean | number) => boolean);
|
|
11
|
-
template?: string;
|
|
12
|
-
run: (field: string, value: string | boolean | number) => void;
|
|
13
|
-
}
|
|
14
|
-
declare class Button {
|
|
15
|
-
field: ButtonOptions['field'];
|
|
16
|
-
template: string;
|
|
17
|
-
run: ButtonOptions['run'];
|
|
18
|
-
constructor(options: ButtonOptions);
|
|
19
|
-
parse(field: string, value: string | boolean | number): Button;
|
|
20
|
-
remove(): void;
|
|
21
|
-
static execute(field: string, value: string | boolean | number): boolean;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
type Provider$1 = 'twitch' | 'youtube' | 'kick' | 'facebook' | 'streamelements';
|
|
25
|
-
type ClientEvents$1 = {
|
|
26
|
-
provider: 'streamelements';
|
|
27
|
-
data: StreamElements.Event.Provider.StreamElements.Events;
|
|
28
|
-
} | {
|
|
29
|
-
provider: 'twitch';
|
|
30
|
-
data: StreamElements.Event.Provider.Twitch.Events;
|
|
31
|
-
} | {
|
|
32
|
-
provider: 'youtube';
|
|
33
|
-
data: StreamElements.Event.Provider.YouTube.Events;
|
|
34
|
-
} | {
|
|
35
|
-
provider: 'kick';
|
|
36
|
-
data: StreamElements.Event.Provider.Kick.Events;
|
|
37
|
-
} | {
|
|
38
|
-
provider: 'facebook';
|
|
39
|
-
data: StreamElements.Event.Provider.Facebook.Events;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
declare namespace StreamElementsEvents {
|
|
43
|
-
namespace Tip {
|
|
44
|
-
type Data = {
|
|
45
|
-
listener: 'tip-latest';
|
|
46
|
-
event: Event;
|
|
47
|
-
};
|
|
48
|
-
type Event = {
|
|
49
|
-
amount: number;
|
|
50
|
-
avatar: string;
|
|
51
|
-
name: string;
|
|
52
|
-
displayName: string;
|
|
53
|
-
providerId: string;
|
|
54
|
-
_id: string;
|
|
55
|
-
sessionTop: boolean;
|
|
56
|
-
type: 'tip';
|
|
57
|
-
originalEventName: 'tip-latest';
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
namespace KVStore {
|
|
61
|
-
type Data = {
|
|
62
|
-
listener: 'kvstore:update';
|
|
63
|
-
event: Event;
|
|
64
|
-
};
|
|
65
|
-
type Event = {
|
|
66
|
-
data: {
|
|
67
|
-
key: `customWidget.${string}`;
|
|
68
|
-
value: string | number | boolean | Record<string, any>;
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
namespace BotCounter {
|
|
73
|
-
type Data = {
|
|
74
|
-
listener: 'bot:counter';
|
|
75
|
-
event: Event;
|
|
76
|
-
};
|
|
77
|
-
type Event = {
|
|
78
|
-
counter: string;
|
|
79
|
-
value: number;
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
namespace AlertService {
|
|
83
|
-
type Data = {
|
|
84
|
-
listener: 'alertService:toggleSound';
|
|
85
|
-
event: Event;
|
|
86
|
-
};
|
|
87
|
-
type Event = {
|
|
88
|
-
muted: boolean;
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
namespace EventSkip {
|
|
92
|
-
type Data = {
|
|
93
|
-
listener: 'event:skip';
|
|
94
|
-
event: Event;
|
|
95
|
-
};
|
|
96
|
-
type Event = {};
|
|
97
|
-
}
|
|
98
|
-
namespace EventTest {
|
|
99
|
-
export type Data = {
|
|
100
|
-
listener: 'event:test';
|
|
101
|
-
event: Event;
|
|
102
|
-
};
|
|
103
|
-
export type Event = widgetButton | emulatedEvents<EventType> | Session;
|
|
104
|
-
type items = {
|
|
105
|
-
name: string;
|
|
106
|
-
price: number;
|
|
107
|
-
quantity: number;
|
|
108
|
-
};
|
|
109
|
-
type widgetButton = {
|
|
110
|
-
listener: 'widget-button';
|
|
111
|
-
field: string;
|
|
112
|
-
value: string | number | boolean;
|
|
113
|
-
};
|
|
114
|
-
type EventType = 'follower' | 'subscriber' | 'tip' | 'cheer' | 'raid';
|
|
115
|
-
type EventTier = 'prime' | '1000' | '2000' | '3000';
|
|
116
|
-
type emulatedEvents<T extends EventType> = {
|
|
117
|
-
listener: `${T}-latest`;
|
|
118
|
-
event: {
|
|
119
|
-
type: T;
|
|
120
|
-
name: string;
|
|
121
|
-
amount: number;
|
|
122
|
-
count: number;
|
|
123
|
-
message?: string;
|
|
124
|
-
gifted?: boolean;
|
|
125
|
-
bulkGifted?: boolean;
|
|
126
|
-
sender?: string;
|
|
127
|
-
subExtension?: boolean;
|
|
128
|
-
items: items[];
|
|
129
|
-
tier: EventTier;
|
|
130
|
-
month: string;
|
|
131
|
-
isTest: true;
|
|
132
|
-
};
|
|
133
|
-
};
|
|
134
|
-
type Session = SessionCount | SessionTotal | SessionTop | SessionGoal | SessionRecent | SessionPoints;
|
|
135
|
-
type SessionCount = {
|
|
136
|
-
listener: `${EventType}-count`;
|
|
137
|
-
event: {
|
|
138
|
-
type: EventType;
|
|
139
|
-
name: string;
|
|
140
|
-
count: number;
|
|
141
|
-
items: items[];
|
|
142
|
-
tier: EventTier;
|
|
143
|
-
month: string;
|
|
144
|
-
isTest: true;
|
|
145
|
-
};
|
|
146
|
-
};
|
|
147
|
-
type SessionTotal = {
|
|
148
|
-
listener: `${EventType}-total`;
|
|
149
|
-
event: {
|
|
150
|
-
type: EventType;
|
|
151
|
-
name: string;
|
|
152
|
-
amount: number;
|
|
153
|
-
count: number;
|
|
154
|
-
items: items[];
|
|
155
|
-
tier: EventTier;
|
|
156
|
-
month: string;
|
|
157
|
-
isTest: true;
|
|
158
|
-
};
|
|
159
|
-
};
|
|
160
|
-
type SessionTop = {
|
|
161
|
-
listener: `${EventType}-top`;
|
|
162
|
-
event: {
|
|
163
|
-
type: EventType;
|
|
164
|
-
name: string;
|
|
165
|
-
amount: number;
|
|
166
|
-
count: number;
|
|
167
|
-
items: items[];
|
|
168
|
-
tier: EventTier;
|
|
169
|
-
month: string;
|
|
170
|
-
isTest: true;
|
|
171
|
-
};
|
|
172
|
-
};
|
|
173
|
-
type SessionGoal = {
|
|
174
|
-
listener: `${EventType}-goal`;
|
|
175
|
-
event: {
|
|
176
|
-
type: EventType;
|
|
177
|
-
name: string;
|
|
178
|
-
amount: number;
|
|
179
|
-
count: number;
|
|
180
|
-
items: items[];
|
|
181
|
-
tier: EventTier;
|
|
182
|
-
month: string;
|
|
183
|
-
isTest: true;
|
|
184
|
-
};
|
|
185
|
-
};
|
|
186
|
-
type SessionRecent = {
|
|
187
|
-
listener: `${EventType}-recent`;
|
|
188
|
-
event: {
|
|
189
|
-
event: SessionRecentEvent[];
|
|
190
|
-
};
|
|
191
|
-
};
|
|
192
|
-
type SessionRecentEvent = {
|
|
193
|
-
type: EventType;
|
|
194
|
-
name: string;
|
|
195
|
-
amount: number;
|
|
196
|
-
count: number;
|
|
197
|
-
tier: EventTier;
|
|
198
|
-
isTest: true;
|
|
199
|
-
};
|
|
200
|
-
type SessionPoints = {
|
|
201
|
-
listener: `${EventType}-points`;
|
|
202
|
-
event: {
|
|
203
|
-
type: EventType;
|
|
204
|
-
name: string;
|
|
205
|
-
amount: number;
|
|
206
|
-
count: number;
|
|
207
|
-
items: items[];
|
|
208
|
-
tier: EventTier;
|
|
209
|
-
month: string;
|
|
210
|
-
isTest: true;
|
|
211
|
-
};
|
|
212
|
-
};
|
|
213
|
-
export {};
|
|
214
|
-
}
|
|
215
|
-
interface BaseEvent {
|
|
216
|
-
provider: Provider$1;
|
|
217
|
-
flagged: boolean;
|
|
218
|
-
channel: string;
|
|
219
|
-
createdAt: string;
|
|
220
|
-
_id: string;
|
|
221
|
-
expiresAt: string;
|
|
222
|
-
updatedAt: string;
|
|
223
|
-
activityId: string;
|
|
224
|
-
sessionEventsCount: number;
|
|
225
|
-
isMock?: boolean;
|
|
226
|
-
}
|
|
227
|
-
namespace Event {
|
|
228
|
-
type Data = {
|
|
229
|
-
listener: 'event';
|
|
230
|
-
event: Event;
|
|
231
|
-
};
|
|
232
|
-
type Event = Tip;
|
|
233
|
-
interface Tip extends BaseEvent {
|
|
234
|
-
type: 'tip';
|
|
235
|
-
data: {
|
|
236
|
-
amount: string;
|
|
237
|
-
currency: string;
|
|
238
|
-
username: string;
|
|
239
|
-
message: string;
|
|
240
|
-
avatar: string;
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
|
|
246
9
|
declare namespace YoutubeEvents {
|
|
247
10
|
namespace Message {
|
|
248
11
|
export type Data = {
|
|
@@ -1584,25 +1347,343 @@ declare namespace StreamElements {
|
|
|
1584
1347
|
}
|
|
1585
1348
|
}
|
|
1586
1349
|
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1350
|
+
type Provider$1 = 'twitch' | 'youtube' | 'kick' | 'facebook' | 'streamelements';
|
|
1351
|
+
type ClientEvents$1 = {
|
|
1352
|
+
provider: 'streamelements';
|
|
1353
|
+
data: StreamElements.Event.Provider.StreamElements.Events;
|
|
1354
|
+
} | {
|
|
1355
|
+
provider: 'twitch';
|
|
1356
|
+
data: StreamElements.Event.Provider.Twitch.Events;
|
|
1357
|
+
} | {
|
|
1358
|
+
provider: 'youtube';
|
|
1359
|
+
data: StreamElements.Event.Provider.YouTube.Events;
|
|
1360
|
+
} | {
|
|
1361
|
+
provider: 'kick';
|
|
1362
|
+
data: StreamElements.Event.Provider.Kick.Events;
|
|
1363
|
+
} | {
|
|
1364
|
+
provider: 'facebook';
|
|
1365
|
+
data: StreamElements.Event.Provider.Facebook.Events;
|
|
1366
|
+
};
|
|
1367
|
+
|
|
1368
|
+
declare namespace StreamElementsEvents {
|
|
1369
|
+
namespace Tip {
|
|
1370
|
+
type Data = {
|
|
1371
|
+
listener: 'tip-latest';
|
|
1372
|
+
event: Event;
|
|
1373
|
+
};
|
|
1374
|
+
type Event = {
|
|
1375
|
+
amount: number;
|
|
1376
|
+
avatar: string;
|
|
1377
|
+
name: string;
|
|
1378
|
+
displayName: string;
|
|
1379
|
+
providerId: string;
|
|
1380
|
+
_id: string;
|
|
1381
|
+
sessionTop: boolean;
|
|
1382
|
+
type: 'tip';
|
|
1383
|
+
originalEventName: 'tip-latest';
|
|
1384
|
+
};
|
|
1385
|
+
}
|
|
1386
|
+
namespace KVStore {
|
|
1387
|
+
type Data = {
|
|
1388
|
+
listener: 'kvstore:update';
|
|
1389
|
+
event: Event;
|
|
1390
|
+
};
|
|
1391
|
+
type Event = {
|
|
1392
|
+
data: {
|
|
1393
|
+
key: `customWidget.${string}`;
|
|
1394
|
+
value: string | number | boolean | Record<string, any>;
|
|
1395
|
+
};
|
|
1396
|
+
};
|
|
1397
|
+
}
|
|
1398
|
+
namespace BotCounter {
|
|
1399
|
+
type Data = {
|
|
1400
|
+
listener: 'bot:counter';
|
|
1401
|
+
event: Event;
|
|
1402
|
+
};
|
|
1403
|
+
type Event = {
|
|
1404
|
+
counter: string;
|
|
1405
|
+
value: number;
|
|
1406
|
+
};
|
|
1407
|
+
}
|
|
1408
|
+
namespace AlertService {
|
|
1409
|
+
type Data = {
|
|
1410
|
+
listener: 'alertService:toggleSound';
|
|
1411
|
+
event: Event;
|
|
1412
|
+
};
|
|
1413
|
+
type Event = {
|
|
1414
|
+
muted: boolean;
|
|
1415
|
+
};
|
|
1416
|
+
}
|
|
1417
|
+
namespace EventSkip {
|
|
1418
|
+
type Data = {
|
|
1419
|
+
listener: 'event:skip';
|
|
1420
|
+
event: Event;
|
|
1421
|
+
};
|
|
1422
|
+
type Event = {};
|
|
1423
|
+
}
|
|
1424
|
+
namespace EventTest {
|
|
1425
|
+
export type Data = {
|
|
1426
|
+
listener: 'event:test';
|
|
1427
|
+
event: Event;
|
|
1428
|
+
};
|
|
1429
|
+
export type Event = widgetButton | emulatedEvents<EventType> | Session;
|
|
1430
|
+
type items = {
|
|
1431
|
+
name: string;
|
|
1432
|
+
price: number;
|
|
1433
|
+
quantity: number;
|
|
1434
|
+
};
|
|
1435
|
+
type widgetButton = {
|
|
1436
|
+
listener: 'widget-button';
|
|
1437
|
+
field: string;
|
|
1438
|
+
value: string | number | boolean;
|
|
1439
|
+
};
|
|
1440
|
+
type EventType = 'follower' | 'subscriber' | 'tip' | 'cheer' | 'raid';
|
|
1441
|
+
type EventTier = 'prime' | '1000' | '2000' | '3000';
|
|
1442
|
+
type emulatedEvents<T extends EventType> = {
|
|
1443
|
+
listener: `${T}-latest`;
|
|
1444
|
+
event: {
|
|
1445
|
+
type: T;
|
|
1446
|
+
name: string;
|
|
1447
|
+
amount: number;
|
|
1448
|
+
count: number;
|
|
1449
|
+
message?: string;
|
|
1450
|
+
gifted?: boolean;
|
|
1451
|
+
bulkGifted?: boolean;
|
|
1452
|
+
sender?: string;
|
|
1453
|
+
subExtension?: boolean;
|
|
1454
|
+
items: items[];
|
|
1455
|
+
tier: EventTier;
|
|
1456
|
+
month: string;
|
|
1457
|
+
isTest: true;
|
|
1458
|
+
};
|
|
1459
|
+
};
|
|
1460
|
+
type Session = SessionCount | SessionTotal | SessionTop | SessionGoal | SessionRecent | SessionPoints;
|
|
1461
|
+
type SessionCount = {
|
|
1462
|
+
listener: `${EventType}-count`;
|
|
1463
|
+
event: {
|
|
1464
|
+
type: EventType;
|
|
1465
|
+
name: string;
|
|
1466
|
+
count: number;
|
|
1467
|
+
items: items[];
|
|
1468
|
+
tier: EventTier;
|
|
1469
|
+
month: string;
|
|
1470
|
+
isTest: true;
|
|
1471
|
+
};
|
|
1472
|
+
};
|
|
1473
|
+
type SessionTotal = {
|
|
1474
|
+
listener: `${EventType}-total`;
|
|
1475
|
+
event: {
|
|
1476
|
+
type: EventType;
|
|
1477
|
+
name: string;
|
|
1478
|
+
amount: number;
|
|
1479
|
+
count: number;
|
|
1480
|
+
items: items[];
|
|
1481
|
+
tier: EventTier;
|
|
1482
|
+
month: string;
|
|
1483
|
+
isTest: true;
|
|
1484
|
+
};
|
|
1485
|
+
};
|
|
1486
|
+
type SessionTop = {
|
|
1487
|
+
listener: `${EventType}-top`;
|
|
1488
|
+
event: {
|
|
1489
|
+
type: EventType;
|
|
1490
|
+
name: string;
|
|
1491
|
+
amount: number;
|
|
1492
|
+
count: number;
|
|
1493
|
+
items: items[];
|
|
1494
|
+
tier: EventTier;
|
|
1495
|
+
month: string;
|
|
1496
|
+
isTest: true;
|
|
1497
|
+
};
|
|
1498
|
+
};
|
|
1499
|
+
type SessionGoal = {
|
|
1500
|
+
listener: `${EventType}-goal`;
|
|
1501
|
+
event: {
|
|
1502
|
+
type: EventType;
|
|
1503
|
+
name: string;
|
|
1504
|
+
amount: number;
|
|
1505
|
+
count: number;
|
|
1506
|
+
items: items[];
|
|
1507
|
+
tier: EventTier;
|
|
1508
|
+
month: string;
|
|
1509
|
+
isTest: true;
|
|
1510
|
+
};
|
|
1511
|
+
};
|
|
1512
|
+
type SessionRecent = {
|
|
1513
|
+
listener: `${EventType}-recent`;
|
|
1514
|
+
event: {
|
|
1515
|
+
event: SessionRecentEvent[];
|
|
1516
|
+
};
|
|
1517
|
+
};
|
|
1518
|
+
type SessionRecentEvent = {
|
|
1519
|
+
type: EventType;
|
|
1520
|
+
name: string;
|
|
1521
|
+
amount: number;
|
|
1522
|
+
count: number;
|
|
1523
|
+
tier: EventTier;
|
|
1524
|
+
isTest: true;
|
|
1525
|
+
};
|
|
1526
|
+
type SessionPoints = {
|
|
1527
|
+
listener: `${EventType}-points`;
|
|
1528
|
+
event: {
|
|
1529
|
+
type: EventType;
|
|
1530
|
+
name: string;
|
|
1531
|
+
amount: number;
|
|
1532
|
+
count: number;
|
|
1533
|
+
items: items[];
|
|
1534
|
+
tier: EventTier;
|
|
1535
|
+
month: string;
|
|
1536
|
+
isTest: true;
|
|
1537
|
+
};
|
|
1538
|
+
};
|
|
1539
|
+
export {};
|
|
1540
|
+
}
|
|
1541
|
+
interface BaseEvent {
|
|
1542
|
+
provider: Provider$1;
|
|
1543
|
+
flagged: boolean;
|
|
1544
|
+
channel: string;
|
|
1545
|
+
createdAt: string;
|
|
1546
|
+
_id: string;
|
|
1547
|
+
expiresAt: string;
|
|
1548
|
+
updatedAt: string;
|
|
1549
|
+
activityId: string;
|
|
1550
|
+
sessionEventsCount: number;
|
|
1551
|
+
isMock?: boolean;
|
|
1552
|
+
}
|
|
1553
|
+
namespace Event {
|
|
1554
|
+
type Data = {
|
|
1555
|
+
listener: 'event';
|
|
1556
|
+
event: Event;
|
|
1557
|
+
};
|
|
1558
|
+
type Event = Tip;
|
|
1559
|
+
interface Tip extends BaseEvent {
|
|
1560
|
+
type: 'tip';
|
|
1561
|
+
data: {
|
|
1562
|
+
amount: string;
|
|
1563
|
+
currency: string;
|
|
1564
|
+
username: string;
|
|
1565
|
+
message: string;
|
|
1566
|
+
avatar: string;
|
|
1567
|
+
};
|
|
1568
|
+
}
|
|
1569
|
+
}
|
|
1570
|
+
}
|
|
1571
|
+
|
|
1572
|
+
type TwitchEmote = {
|
|
1573
|
+
type: 'twitch';
|
|
1574
|
+
name: string;
|
|
1575
|
+
id: string;
|
|
1576
|
+
gif: boolean;
|
|
1577
|
+
urls: {
|
|
1578
|
+
'1': string;
|
|
1579
|
+
'2': string;
|
|
1580
|
+
'4': string;
|
|
1581
|
+
};
|
|
1582
|
+
start: number;
|
|
1583
|
+
end: number;
|
|
1584
|
+
};
|
|
1585
|
+
type SeventvEmote = {
|
|
1586
|
+
type: '7tv';
|
|
1587
|
+
name: string;
|
|
1588
|
+
id: string;
|
|
1589
|
+
gif: boolean;
|
|
1590
|
+
animated: boolean;
|
|
1591
|
+
urls: {
|
|
1592
|
+
'1': string;
|
|
1593
|
+
'2': string;
|
|
1594
|
+
'3': string;
|
|
1595
|
+
'4': string;
|
|
1596
|
+
};
|
|
1597
|
+
start: number;
|
|
1598
|
+
end: number;
|
|
1599
|
+
cords: {
|
|
1600
|
+
x: number;
|
|
1601
|
+
y: number;
|
|
1602
|
+
};
|
|
1603
|
+
};
|
|
1604
|
+
type BttvEmote = {
|
|
1605
|
+
type: 'bttv';
|
|
1606
|
+
name: string;
|
|
1607
|
+
id: string;
|
|
1608
|
+
gif: boolean;
|
|
1609
|
+
animated: boolean;
|
|
1610
|
+
urls: {
|
|
1611
|
+
'1': string;
|
|
1612
|
+
'2': string;
|
|
1613
|
+
'4': string;
|
|
1614
|
+
};
|
|
1615
|
+
start: number;
|
|
1616
|
+
end: number;
|
|
1617
|
+
coords: {
|
|
1618
|
+
x: number;
|
|
1619
|
+
y: number;
|
|
1620
|
+
width: number;
|
|
1621
|
+
height: number;
|
|
1622
|
+
};
|
|
1623
|
+
};
|
|
1624
|
+
|
|
1625
|
+
interface ButtonOptions {
|
|
1626
|
+
field: string | ((field: string, value: string | boolean | number) => boolean);
|
|
1627
|
+
template?: string;
|
|
1628
|
+
name?: string;
|
|
1629
|
+
value?: string;
|
|
1630
|
+
run: (field: string, value: string | boolean | number) => void;
|
|
1631
|
+
}
|
|
1632
|
+
/**
|
|
1633
|
+
* Represents a button action that can be triggered by custom fields in StreamElements.
|
|
1634
|
+
* The button can be configured with a template and a name, and it will execute a specified function when triggered.
|
|
1635
|
+
* @example
|
|
1636
|
+
* ```javascript
|
|
1637
|
+
* const button = new Button({
|
|
1638
|
+
* field: (field, value) => field.startsWith('message-') && field.split('-')[1],
|
|
1639
|
+
* template: 'message-{role}',
|
|
1640
|
+
* // name: '[CAP={role}] role message',
|
|
1641
|
+
* name: 'Generate {role} message',
|
|
1642
|
+
* run(field, value) {
|
|
1643
|
+
* console.log(`Button ${field} was clicked with value: ${value}`);
|
|
1644
|
+
* }
|
|
1645
|
+
* })
|
|
1646
|
+
*
|
|
1647
|
+
* const field = button.generate([{ role: 'broadcaster' }, { role: 'moderator' }]);
|
|
1648
|
+
* // This will create buttons with fields "message-broadcaster" and "message-moderator" and names "Generate broadcaster message" and "Generate moderator message".
|
|
1649
|
+
* // field['message-broadcaster'] => { type: 'button', label: 'Generate broadcaster message' }
|
|
1650
|
+
* // field['message-moderator'] => { type: 'button', label: 'Generate moderator message' }
|
|
1651
|
+
*
|
|
1652
|
+
* // 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.
|
|
1653
|
+
* ```
|
|
1654
|
+
*/
|
|
1655
|
+
declare class Button {
|
|
1656
|
+
field: ButtonOptions['field'];
|
|
1657
|
+
template: string;
|
|
1658
|
+
name: string;
|
|
1659
|
+
value: string;
|
|
1660
|
+
run: ButtonOptions['run'];
|
|
1661
|
+
constructor(options: ButtonOptions);
|
|
1662
|
+
generate(values: Array<Record<string, string | number>>): Record<string, StreamElements.CustomField.Schema>;
|
|
1663
|
+
parse(field: string, value: string | boolean | number): Button;
|
|
1664
|
+
remove(): void;
|
|
1665
|
+
static execute(field: string, value: string | boolean | number): boolean;
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
/**
|
|
1669
|
+
* EventProvider class for managing event listeners and emitters.
|
|
1670
|
+
* This class allows you to register event listeners, emit events, and manage event subscriptions.
|
|
1671
|
+
* @example
|
|
1672
|
+
* ```typescript
|
|
1673
|
+
* type TestEvents = {
|
|
1674
|
+
* load: [event: { type: 'load' }];
|
|
1675
|
+
* event: [event: { type: 'event' }];
|
|
1676
|
+
* };
|
|
1677
|
+
*
|
|
1678
|
+
* class Test extends EventProvider<TestEvents> {}
|
|
1679
|
+
*
|
|
1680
|
+
* const test = new Test();
|
|
1681
|
+
* test.once('load', (data) => {});
|
|
1682
|
+
* test.emit('load', { type: 'load' });
|
|
1683
|
+
*
|
|
1684
|
+
* test.on('event', (data) => {});
|
|
1685
|
+
* test.emit('event', { type: 'event' });
|
|
1686
|
+
* ```
|
|
1606
1687
|
*/
|
|
1607
1688
|
declare class EventProvider<EventMap extends Record<string, any[]> = Record<string, any[]>> {
|
|
1608
1689
|
/**
|
|
@@ -1810,7 +1891,7 @@ declare class Command {
|
|
|
1810
1891
|
name: string;
|
|
1811
1892
|
description: string;
|
|
1812
1893
|
arguments: boolean;
|
|
1813
|
-
test: string;
|
|
1894
|
+
test: string | (() => string);
|
|
1814
1895
|
aliases: string[];
|
|
1815
1896
|
permissions?: string[] | boolean;
|
|
1816
1897
|
admins: string[];
|
|
@@ -1886,59 +1967,6 @@ declare class useQueue<T> extends EventProvider<QueueEvents<T>> {
|
|
|
1886
1967
|
on<K extends keyof QueueEvents<T>>(eventName: K, callback: (this: useQueue<T>, ...args: QueueEvents<T>[K]) => void): this;
|
|
1887
1968
|
}
|
|
1888
1969
|
|
|
1889
|
-
type TwitchEmote = {
|
|
1890
|
-
type: 'twitch';
|
|
1891
|
-
name: string;
|
|
1892
|
-
id: string;
|
|
1893
|
-
gif: boolean;
|
|
1894
|
-
urls: {
|
|
1895
|
-
'1': string;
|
|
1896
|
-
'2': string;
|
|
1897
|
-
'4': string;
|
|
1898
|
-
};
|
|
1899
|
-
start: number;
|
|
1900
|
-
end: number;
|
|
1901
|
-
};
|
|
1902
|
-
type SeventvEmote = {
|
|
1903
|
-
type: '7tv';
|
|
1904
|
-
name: string;
|
|
1905
|
-
id: string;
|
|
1906
|
-
gif: boolean;
|
|
1907
|
-
animated: boolean;
|
|
1908
|
-
urls: {
|
|
1909
|
-
'1': string;
|
|
1910
|
-
'2': string;
|
|
1911
|
-
'3': string;
|
|
1912
|
-
'4': string;
|
|
1913
|
-
};
|
|
1914
|
-
start: number;
|
|
1915
|
-
end: number;
|
|
1916
|
-
cords: {
|
|
1917
|
-
x: number;
|
|
1918
|
-
y: number;
|
|
1919
|
-
};
|
|
1920
|
-
};
|
|
1921
|
-
type BttvEmote = {
|
|
1922
|
-
type: 'bttv';
|
|
1923
|
-
name: string;
|
|
1924
|
-
id: string;
|
|
1925
|
-
gif: boolean;
|
|
1926
|
-
animated: boolean;
|
|
1927
|
-
urls: {
|
|
1928
|
-
'1': string;
|
|
1929
|
-
'2': string;
|
|
1930
|
-
'4': string;
|
|
1931
|
-
};
|
|
1932
|
-
start: number;
|
|
1933
|
-
end: number;
|
|
1934
|
-
coords: {
|
|
1935
|
-
x: number;
|
|
1936
|
-
y: number;
|
|
1937
|
-
width: number;
|
|
1938
|
-
height: number;
|
|
1939
|
-
};
|
|
1940
|
-
};
|
|
1941
|
-
|
|
1942
1970
|
type Emote = TwitchEmote | BttvEmote | SeventvEmote;
|
|
1943
1971
|
type BadgeOptions = Twitch.roles[] | Twitch.roles | `${Twitch.roles}, ${Twitch.roles}` | `${Twitch.roles}, ${Twitch.roles}, ${Twitch.roles}`;
|
|
1944
1972
|
|
|
@@ -2243,7 +2271,9 @@ declare namespace Helper {
|
|
|
2243
2271
|
};
|
|
2244
2272
|
const utils: {
|
|
2245
2273
|
delay<R extends unknown, M extends number>(ms: M, callback?: () => R): Promise<R | null>;
|
|
2246
|
-
typedEntries<K extends string, V>(obj: Record<K, V>): [K, V][];
|
|
2274
|
+
typedEntries<K extends string, V>(obj: Record<K, V> | Array<V>): [K, V][];
|
|
2275
|
+
typedValues<K extends string, V>(obj: Record<K, V> | Array<V>): V[];
|
|
2276
|
+
typedKeys<K extends string, V>(obj: Record<K, V> | Array<V>): K[];
|
|
2247
2277
|
probability<K extends string, V extends number>(items: Record<K, V>): K | undefined;
|
|
2248
2278
|
};
|
|
2249
2279
|
const random: {
|