@tixyel/streamelements 7.5.0 → 7.5.2
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 +335 -324
- package/dist/index.es.js +45 -26
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -7,228 +7,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
|
export { ComfyJSInstance } from 'comfy.js';
|
|
9
9
|
|
|
10
|
-
type Provider$1 = 'twitch' | 'youtube' | 'kick' | 'facebook' | 'streamelements';
|
|
11
|
-
type ClientEvents$1 = {
|
|
12
|
-
provider: 'streamelements';
|
|
13
|
-
data: StreamElements.Event.Provider.StreamElements.Events;
|
|
14
|
-
} | {
|
|
15
|
-
provider: 'twitch';
|
|
16
|
-
data: StreamElements.Event.Provider.Twitch.Events;
|
|
17
|
-
} | {
|
|
18
|
-
provider: 'youtube';
|
|
19
|
-
data: StreamElements.Event.Provider.YouTube.Events;
|
|
20
|
-
} | {
|
|
21
|
-
provider: 'kick';
|
|
22
|
-
data: StreamElements.Event.Provider.Kick.Events;
|
|
23
|
-
} | {
|
|
24
|
-
provider: 'facebook';
|
|
25
|
-
data: StreamElements.Event.Provider.Facebook.Events;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
declare namespace StreamElementsEvents {
|
|
29
|
-
namespace Tip {
|
|
30
|
-
type Data = {
|
|
31
|
-
listener: 'tip-latest';
|
|
32
|
-
event: Event;
|
|
33
|
-
};
|
|
34
|
-
type Event = {
|
|
35
|
-
amount: number;
|
|
36
|
-
avatar: string;
|
|
37
|
-
name: string;
|
|
38
|
-
displayName: string;
|
|
39
|
-
providerId: string;
|
|
40
|
-
_id: string;
|
|
41
|
-
sessionTop: boolean;
|
|
42
|
-
type: 'tip';
|
|
43
|
-
originalEventName: 'tip-latest';
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
namespace KVStore {
|
|
47
|
-
type Data = {
|
|
48
|
-
listener: 'kvstore:update';
|
|
49
|
-
event: Event;
|
|
50
|
-
};
|
|
51
|
-
type Event = {
|
|
52
|
-
data: {
|
|
53
|
-
key: `customWidget.${string}`;
|
|
54
|
-
value: string | number | boolean | Record<string, any>;
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
namespace BotCounter {
|
|
59
|
-
type Data = {
|
|
60
|
-
listener: 'bot:counter';
|
|
61
|
-
event: Event;
|
|
62
|
-
};
|
|
63
|
-
type Event = {
|
|
64
|
-
counter: string;
|
|
65
|
-
value: number;
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
namespace AlertService {
|
|
69
|
-
type Data = {
|
|
70
|
-
listener: 'alertService:toggleSound';
|
|
71
|
-
event: Event;
|
|
72
|
-
};
|
|
73
|
-
type Event = {
|
|
74
|
-
muted: boolean;
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
namespace EventSkip {
|
|
78
|
-
type Data = {
|
|
79
|
-
listener: 'event:skip';
|
|
80
|
-
event: Event;
|
|
81
|
-
};
|
|
82
|
-
type Event = {};
|
|
83
|
-
}
|
|
84
|
-
namespace EventTest {
|
|
85
|
-
export type Data = {
|
|
86
|
-
listener: 'event:test';
|
|
87
|
-
event: Event;
|
|
88
|
-
};
|
|
89
|
-
export type Event = widgetButton | emulatedEvents<EventType> | Session;
|
|
90
|
-
type items = {
|
|
91
|
-
name: string;
|
|
92
|
-
price: number;
|
|
93
|
-
quantity: number;
|
|
94
|
-
};
|
|
95
|
-
type widgetButton = {
|
|
96
|
-
listener: 'widget-button';
|
|
97
|
-
field: string;
|
|
98
|
-
value: string | number | boolean;
|
|
99
|
-
};
|
|
100
|
-
type EventType = 'follower' | 'subscriber' | 'tip' | 'cheer' | 'raid';
|
|
101
|
-
type EventTier = 'prime' | '1000' | '2000' | '3000';
|
|
102
|
-
type emulatedEvents<T extends EventType> = {
|
|
103
|
-
listener: `${T}-latest`;
|
|
104
|
-
event: {
|
|
105
|
-
type: T;
|
|
106
|
-
name: string;
|
|
107
|
-
amount: number;
|
|
108
|
-
count: number;
|
|
109
|
-
message?: string;
|
|
110
|
-
gifted?: boolean;
|
|
111
|
-
bulkGifted?: boolean;
|
|
112
|
-
sender?: string;
|
|
113
|
-
subExtension?: boolean;
|
|
114
|
-
items: items[];
|
|
115
|
-
tier: EventTier;
|
|
116
|
-
month: string;
|
|
117
|
-
isTest: true;
|
|
118
|
-
};
|
|
119
|
-
};
|
|
120
|
-
type Session = SessionCount | SessionTotal | SessionTop | SessionGoal | SessionRecent | SessionPoints;
|
|
121
|
-
type SessionCount = {
|
|
122
|
-
listener: `${EventType}-count`;
|
|
123
|
-
event: {
|
|
124
|
-
type: EventType;
|
|
125
|
-
name: string;
|
|
126
|
-
count: number;
|
|
127
|
-
items: items[];
|
|
128
|
-
tier: EventTier;
|
|
129
|
-
month: string;
|
|
130
|
-
isTest: true;
|
|
131
|
-
};
|
|
132
|
-
};
|
|
133
|
-
type SessionTotal = {
|
|
134
|
-
listener: `${EventType}-total`;
|
|
135
|
-
event: {
|
|
136
|
-
type: EventType;
|
|
137
|
-
name: string;
|
|
138
|
-
amount: number;
|
|
139
|
-
count: number;
|
|
140
|
-
items: items[];
|
|
141
|
-
tier: EventTier;
|
|
142
|
-
month: string;
|
|
143
|
-
isTest: true;
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
type SessionTop = {
|
|
147
|
-
listener: `${EventType}-top`;
|
|
148
|
-
event: {
|
|
149
|
-
type: EventType;
|
|
150
|
-
name: string;
|
|
151
|
-
amount: number;
|
|
152
|
-
count: number;
|
|
153
|
-
items: items[];
|
|
154
|
-
tier: EventTier;
|
|
155
|
-
month: string;
|
|
156
|
-
isTest: true;
|
|
157
|
-
};
|
|
158
|
-
};
|
|
159
|
-
type SessionGoal = {
|
|
160
|
-
listener: `${EventType}-goal`;
|
|
161
|
-
event: {
|
|
162
|
-
type: EventType;
|
|
163
|
-
name: string;
|
|
164
|
-
amount: number;
|
|
165
|
-
count: number;
|
|
166
|
-
items: items[];
|
|
167
|
-
tier: EventTier;
|
|
168
|
-
month: string;
|
|
169
|
-
isTest: true;
|
|
170
|
-
};
|
|
171
|
-
};
|
|
172
|
-
type SessionRecent = {
|
|
173
|
-
listener: `${EventType}-recent`;
|
|
174
|
-
event: {
|
|
175
|
-
event: SessionRecentEvent[];
|
|
176
|
-
};
|
|
177
|
-
};
|
|
178
|
-
type SessionRecentEvent = {
|
|
179
|
-
type: EventType;
|
|
180
|
-
name: string;
|
|
181
|
-
amount: number;
|
|
182
|
-
count: number;
|
|
183
|
-
tier: EventTier;
|
|
184
|
-
isTest: true;
|
|
185
|
-
};
|
|
186
|
-
type SessionPoints = {
|
|
187
|
-
listener: `${EventType}-points`;
|
|
188
|
-
event: {
|
|
189
|
-
type: EventType;
|
|
190
|
-
name: string;
|
|
191
|
-
amount: number;
|
|
192
|
-
count: number;
|
|
193
|
-
items: items[];
|
|
194
|
-
tier: EventTier;
|
|
195
|
-
month: string;
|
|
196
|
-
isTest: true;
|
|
197
|
-
};
|
|
198
|
-
};
|
|
199
|
-
export {};
|
|
200
|
-
}
|
|
201
|
-
interface BaseEvent {
|
|
202
|
-
provider: Provider$1;
|
|
203
|
-
flagged: boolean;
|
|
204
|
-
channel: string;
|
|
205
|
-
createdAt: string;
|
|
206
|
-
_id: string;
|
|
207
|
-
expiresAt: string;
|
|
208
|
-
updatedAt: string;
|
|
209
|
-
activityId: string;
|
|
210
|
-
sessionEventsCount: number;
|
|
211
|
-
isMock?: boolean;
|
|
212
|
-
}
|
|
213
|
-
namespace Event {
|
|
214
|
-
type Data = {
|
|
215
|
-
listener: 'event';
|
|
216
|
-
event: Event;
|
|
217
|
-
};
|
|
218
|
-
type Event = Tip;
|
|
219
|
-
interface Tip extends BaseEvent {
|
|
220
|
-
type: 'tip';
|
|
221
|
-
data: {
|
|
222
|
-
amount: string;
|
|
223
|
-
currency: string;
|
|
224
|
-
username: string;
|
|
225
|
-
message: string;
|
|
226
|
-
avatar: string;
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
10
|
type TwitchEmote = {
|
|
233
11
|
type: 'twitch';
|
|
234
12
|
name: string;
|
|
@@ -1681,46 +1459,334 @@ declare namespace StreamElements {
|
|
|
1681
1459
|
}
|
|
1682
1460
|
}
|
|
1683
1461
|
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
aliases?: string[];
|
|
1692
|
-
permissions?: string[] | boolean;
|
|
1693
|
-
admins?: string[];
|
|
1694
|
-
}
|
|
1695
|
-
type CommandEvent = {
|
|
1696
|
-
provider: 'twitch';
|
|
1697
|
-
data: StreamElements.Event.Provider.Twitch.Message;
|
|
1698
|
-
} | {
|
|
1699
|
-
provider: 'youtube';
|
|
1700
|
-
data: StreamElements.Event.Provider.YouTube.Message;
|
|
1701
|
-
} | {
|
|
1702
|
-
provider: 'kick';
|
|
1703
|
-
data: any;
|
|
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;
|
|
1704
1469
|
};
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
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];
|
|
1721
1490
|
|
|
1722
|
-
|
|
1723
|
-
|
|
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;
|
|
1581
|
+
};
|
|
1582
|
+
};
|
|
1583
|
+
type Session = SessionCount | SessionTotal | SessionTop | SessionGoal | SessionRecent | SessionPoints;
|
|
1584
|
+
type SessionCount = {
|
|
1585
|
+
listener: `${EventType}-count`;
|
|
1586
|
+
event: {
|
|
1587
|
+
type: EventType;
|
|
1588
|
+
name: string;
|
|
1589
|
+
count: number;
|
|
1590
|
+
items: items[];
|
|
1591
|
+
tier: EventTier;
|
|
1592
|
+
month: string;
|
|
1593
|
+
isTest: true;
|
|
1594
|
+
};
|
|
1595
|
+
};
|
|
1596
|
+
type SessionTotal = {
|
|
1597
|
+
listener: `${EventType}-total`;
|
|
1598
|
+
event: {
|
|
1599
|
+
type: EventType;
|
|
1600
|
+
name: string;
|
|
1601
|
+
amount: number;
|
|
1602
|
+
count: number;
|
|
1603
|
+
items: items[];
|
|
1604
|
+
tier: EventTier;
|
|
1605
|
+
month: string;
|
|
1606
|
+
isTest: true;
|
|
1607
|
+
};
|
|
1608
|
+
};
|
|
1609
|
+
type SessionTop = {
|
|
1610
|
+
listener: `${EventType}-top`;
|
|
1611
|
+
event: {
|
|
1612
|
+
type: EventType;
|
|
1613
|
+
name: string;
|
|
1614
|
+
amount: number;
|
|
1615
|
+
count: number;
|
|
1616
|
+
items: items[];
|
|
1617
|
+
tier: EventTier;
|
|
1618
|
+
month: string;
|
|
1619
|
+
isTest: true;
|
|
1620
|
+
};
|
|
1621
|
+
};
|
|
1622
|
+
type SessionGoal = {
|
|
1623
|
+
listener: `${EventType}-goal`;
|
|
1624
|
+
event: {
|
|
1625
|
+
type: EventType;
|
|
1626
|
+
name: string;
|
|
1627
|
+
amount: number;
|
|
1628
|
+
count: number;
|
|
1629
|
+
items: items[];
|
|
1630
|
+
tier: EventTier;
|
|
1631
|
+
month: string;
|
|
1632
|
+
isTest: true;
|
|
1633
|
+
};
|
|
1634
|
+
};
|
|
1635
|
+
type SessionRecent = {
|
|
1636
|
+
listener: `${EventType}-recent`;
|
|
1637
|
+
event: {
|
|
1638
|
+
event: SessionRecentEvent[];
|
|
1639
|
+
};
|
|
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;
|
|
1653
|
+
name: string;
|
|
1654
|
+
amount: number;
|
|
1655
|
+
count: number;
|
|
1656
|
+
items: items[];
|
|
1657
|
+
tier: EventTier;
|
|
1658
|
+
month: string;
|
|
1659
|
+
isTest: true;
|
|
1660
|
+
};
|
|
1661
|
+
};
|
|
1662
|
+
export {};
|
|
1663
|
+
}
|
|
1664
|
+
interface BaseEvent {
|
|
1665
|
+
provider: Provider$1;
|
|
1666
|
+
flagged: boolean;
|
|
1667
|
+
channel: string;
|
|
1668
|
+
createdAt: string;
|
|
1669
|
+
_id: string;
|
|
1670
|
+
expiresAt: string;
|
|
1671
|
+
updatedAt: string;
|
|
1672
|
+
activityId: string;
|
|
1673
|
+
sessionEventsCount: number;
|
|
1674
|
+
isMock?: boolean;
|
|
1675
|
+
}
|
|
1676
|
+
namespace Event {
|
|
1677
|
+
type Data = {
|
|
1678
|
+
listener: 'event';
|
|
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;
|
|
1689
|
+
avatar: string;
|
|
1690
|
+
};
|
|
1691
|
+
}
|
|
1692
|
+
}
|
|
1693
|
+
}
|
|
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
|
+
interface CommandOptions {
|
|
1751
|
+
prefix?: string;
|
|
1752
|
+
name: string;
|
|
1753
|
+
description?: string;
|
|
1754
|
+
arguments?: boolean;
|
|
1755
|
+
run: (this: Client, args: string[], event: CommandEvent) => void;
|
|
1756
|
+
test?: string;
|
|
1757
|
+
aliases?: string[];
|
|
1758
|
+
permissions?: string[] | boolean;
|
|
1759
|
+
admins?: string[];
|
|
1760
|
+
}
|
|
1761
|
+
type CommandEvent = {
|
|
1762
|
+
provider: 'twitch';
|
|
1763
|
+
data: StreamElements.Event.Provider.Twitch.Message;
|
|
1764
|
+
} | {
|
|
1765
|
+
provider: 'youtube';
|
|
1766
|
+
data: StreamElements.Event.Provider.YouTube.Message;
|
|
1767
|
+
} | {
|
|
1768
|
+
provider: 'kick';
|
|
1769
|
+
data: any;
|
|
1770
|
+
};
|
|
1771
|
+
declare class Command {
|
|
1772
|
+
prefix: string;
|
|
1773
|
+
name: string;
|
|
1774
|
+
description: string;
|
|
1775
|
+
arguments: boolean;
|
|
1776
|
+
test: string | (() => string);
|
|
1777
|
+
aliases: string[];
|
|
1778
|
+
permissions?: string[] | boolean;
|
|
1779
|
+
admins: string[];
|
|
1780
|
+
constructor(options: CommandOptions);
|
|
1781
|
+
run(this: Client | undefined, args: string[], event: CommandEvent): void;
|
|
1782
|
+
verify(nickname: string, roles: string[], args: string[]): boolean;
|
|
1783
|
+
parse(text: string, event: CommandEvent): boolean;
|
|
1784
|
+
remove(): void;
|
|
1785
|
+
static execute(received: CommandEvent): boolean;
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
/**
|
|
1789
|
+
* EventProvider class for managing event listeners and emitters.
|
|
1724
1790
|
* This class allows you to register event listeners, emit events, and manage event subscriptions.
|
|
1725
1791
|
* @example
|
|
1726
1792
|
* ```typescript
|
|
@@ -1776,14 +1842,6 @@ declare class EventProvider<EventMap extends Record<string, any[]> = Record<stri
|
|
|
1776
1842
|
removeAllListeners<K extends keyof EventMap>(eventName: K): this;
|
|
1777
1843
|
}
|
|
1778
1844
|
|
|
1779
|
-
type JSONPrimitive = string | number | boolean | null;
|
|
1780
|
-
type JSONSerializable = JSONPrimitive | JSONSerializable[] | {
|
|
1781
|
-
[k: string]: JSONSerializable | undefined;
|
|
1782
|
-
};
|
|
1783
|
-
type JSONObject = {
|
|
1784
|
-
[key: string]: JSONSerializable | undefined;
|
|
1785
|
-
};
|
|
1786
|
-
|
|
1787
1845
|
type UseStorageEvents<T> = {
|
|
1788
1846
|
load: [T | null];
|
|
1789
1847
|
update: [T];
|
|
@@ -1860,11 +1918,11 @@ declare namespace Alejo {
|
|
|
1860
1918
|
function get(username: string): Promise<Pronouns.name | undefined>;
|
|
1861
1919
|
}
|
|
1862
1920
|
|
|
1863
|
-
type
|
|
1921
|
+
type ClientMapEvents<CustomEvents = {}> = {
|
|
1864
1922
|
load: [event: StreamElements.Event.onWidgetLoad];
|
|
1865
1923
|
action: [action: Button | Command, type: 'created' | 'executed' | 'removed'];
|
|
1866
1924
|
session: [session: StreamElements.Session.Data];
|
|
1867
|
-
event:
|
|
1925
|
+
event: ClientEventTuple<CustomEvents>;
|
|
1868
1926
|
};
|
|
1869
1927
|
type ClientStorageOptions<T> = {
|
|
1870
1928
|
value: T;
|
|
@@ -1881,7 +1939,7 @@ type ClientOptions = {
|
|
|
1881
1939
|
id?: string;
|
|
1882
1940
|
debug?: boolean | (() => boolean);
|
|
1883
1941
|
};
|
|
1884
|
-
declare class Client extends EventProvider<
|
|
1942
|
+
declare class Client<CustomEvents = {}> extends EventProvider<ClientMapEvents<CustomEvents>> {
|
|
1885
1943
|
id: string;
|
|
1886
1944
|
debug: boolean;
|
|
1887
1945
|
storage: useStorage<ClientStorage>;
|
|
@@ -1913,54 +1971,7 @@ declare class Client extends EventProvider<ClientEvents> {
|
|
|
1913
1971
|
*/
|
|
1914
1972
|
emote: number;
|
|
1915
1973
|
};
|
|
1916
|
-
on<K extends keyof
|
|
1917
|
-
}
|
|
1918
|
-
|
|
1919
|
-
type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
|
|
1920
|
-
[K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
|
|
1921
|
-
}[Keys];
|
|
1922
|
-
|
|
1923
|
-
interface ButtonOptions {
|
|
1924
|
-
field: string | ((field: string, value: string | boolean | number) => boolean);
|
|
1925
|
-
template?: string;
|
|
1926
|
-
name?: string;
|
|
1927
|
-
value?: string;
|
|
1928
|
-
run: (this: Client | undefined, field: string, value: string | boolean | number) => void;
|
|
1929
|
-
}
|
|
1930
|
-
/**
|
|
1931
|
-
* Represents a button action that can be triggered by custom fields in StreamElements.
|
|
1932
|
-
* The button can be configured with a template and a name, and it will execute a specified function when triggered.
|
|
1933
|
-
* @example
|
|
1934
|
-
* ```javascript
|
|
1935
|
-
* const button = new Button({
|
|
1936
|
-
* field: (field, value) => field.startsWith('message-') && field.split('-')[1],
|
|
1937
|
-
* template: 'message-{role}',
|
|
1938
|
-
* // name: '[CAP={role}] role message',
|
|
1939
|
-
* name: 'Generate {role} message',
|
|
1940
|
-
* run(field, value) {
|
|
1941
|
-
* console.log(`Button ${field} was clicked with value: ${value}`);
|
|
1942
|
-
* }
|
|
1943
|
-
* })
|
|
1944
|
-
*
|
|
1945
|
-
* const field = button.generate([{ role: 'broadcaster' }, { role: 'moderator' }]);
|
|
1946
|
-
* // This will create buttons with fields "message-broadcaster" and "message-moderator" and names "Generate broadcaster message" and "Generate moderator message".
|
|
1947
|
-
* // field['message-broadcaster'] => { type: 'button', label: 'Generate broadcaster message' }
|
|
1948
|
-
* // field['message-moderator'] => { type: 'button', label: 'Generate moderator message' }
|
|
1949
|
-
*
|
|
1950
|
-
* // 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.
|
|
1951
|
-
* ```
|
|
1952
|
-
*/
|
|
1953
|
-
declare class Button {
|
|
1954
|
-
field: ButtonOptions['field'];
|
|
1955
|
-
template: string;
|
|
1956
|
-
name: string;
|
|
1957
|
-
value: string;
|
|
1958
|
-
run: ButtonOptions['run'];
|
|
1959
|
-
constructor(options: ButtonOptions);
|
|
1960
|
-
generate(values: Array<Record<string, string | number>>): Record<string, StreamElements.CustomField.Schema>;
|
|
1961
|
-
parse(field: string, value: string | boolean | number): Button;
|
|
1962
|
-
remove(): void;
|
|
1963
|
-
static execute(field: string, value: string | boolean | number): boolean;
|
|
1974
|
+
on<K extends keyof ClientMapEvents<CustomEvents>>(eventName: K, callback: (this: Client<CustomEvents>, ...args: ClientMapEvents<CustomEvents>[K]) => void): this;
|
|
1964
1975
|
}
|
|
1965
1976
|
|
|
1966
1977
|
interface Theme {
|
|
@@ -2742,7 +2753,7 @@ declare class EventHelper {
|
|
|
2742
2753
|
* @param detail - The event detail object received from the StreamElements event.
|
|
2743
2754
|
* @returns An object containing the provider and the original event data.
|
|
2744
2755
|
*/
|
|
2745
|
-
parseProvider(detail: StreamElements.Event.onEventReceived, overrideProvider?: Provider$1): ClientEvents
|
|
2756
|
+
parseProvider(detail: StreamElements.Event.onEventReceived, overrideProvider?: Provider$1): ClientEvents;
|
|
2746
2757
|
}
|
|
2747
2758
|
|
|
2748
2759
|
type Modifier = (value: string, param: string | null | undefined, values: {
|
|
@@ -3490,7 +3501,7 @@ declare function onWidgetLoad(fields: Record<string, StreamElements.CustomField.
|
|
|
3490
3501
|
* @param session - The session data to be included in the event.
|
|
3491
3502
|
* @returns A Promise that resolves to the simulated onSessionUpdate event data.
|
|
3492
3503
|
*/
|
|
3493
|
-
declare function onSessionUpdate(session?: StreamElements.Session.Data, update?: ClientEvents
|
|
3504
|
+
declare function onSessionUpdate(session?: StreamElements.Session.Data, update?: ClientEvents): Promise<StreamElements.Event.onSessionUpdate>;
|
|
3494
3505
|
/**
|
|
3495
3506
|
* Simulates the onEventReceived event for a widget.
|
|
3496
3507
|
* @param provider - The provider of the event (default is 'random').
|
|
@@ -3678,7 +3689,7 @@ declare const main: {
|
|
|
3678
3689
|
declare global {
|
|
3679
3690
|
interface Window {
|
|
3680
3691
|
Tixyel: typeof main;
|
|
3681
|
-
client:
|
|
3692
|
+
client: Client | undefined;
|
|
3682
3693
|
ComfyJS?: ComfyJSInstance;
|
|
3683
3694
|
}
|
|
3684
3695
|
interface WindowEventMap {
|
|
@@ -3687,9 +3698,9 @@ declare global {
|
|
|
3687
3698
|
onEventReceived: CustomEvent<StreamElements.Event.onEventReceived>;
|
|
3688
3699
|
}
|
|
3689
3700
|
const Tixyel: typeof main;
|
|
3690
|
-
let client:
|
|
3701
|
+
let client: Client | undefined;
|
|
3691
3702
|
const SE_API: StreamElements.SE_API;
|
|
3692
3703
|
}
|
|
3693
3704
|
|
|
3694
3705
|
export { Alejo, Button, Command, EventProvider, StreamElements, StreamElementsEvents, Twitch, TwitchEvents, YoutubeEvents, main as default, useComfyJs, useLogger, useQueue, useStorage };
|
|
3695
|
-
export type { BttvEmote,
|
|
3706
|
+
export type { BttvEmote, ClientCustomEventPayload, ClientCustomProviderEvents, ClientEventTuple, ClientEvents, ClientProviderEvents, Emoji, Emote, FfzEmote, JSONObject, JSONPrimitive, JSONSerializable, MapNumberValuesToString, NumberAsString, PathValue, Provider$1 as Provider, RequireAtLeastOne, SeventvEmote, TwitchEmote };
|