@lumiastream/lumia-types 3.2.7 → 3.2.9
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/activity.types.d.ts +3 -0
- package/dist/activity.types.js +3 -0
- package/dist/alert.types.js +53 -0
- package/dist/custom-overlays/custom-overlays-cheatsheet.md +1 -0
- package/dist/custom-overlays/custom-overlays-documentation.md +54 -1
- package/dist/custom-overlays/custom-overlays-examples.md +1 -1
- package/dist/custom-overlays/custom-overlays.d.ts +58 -39
- package/dist/custom-overlays/gpt-instructions.md +2 -0
- package/dist/custom-overlays.d.ts +58 -39
- package/dist/event.types.d.ts +1 -0
- package/dist/event.types.js +1 -0
- package/dist/variables.types.d.ts +6 -0
- package/dist/variables.types.js +6 -0
- package/package.json +1 -1
package/dist/activity.types.d.ts
CHANGED
|
@@ -401,6 +401,8 @@ export declare enum LumiaAlertValues {
|
|
|
401
401
|
DONORDRIVE_DONATION = "donordrive-donation",
|
|
402
402
|
/** Tiltify campaign donation */
|
|
403
403
|
TILTIFY_DONATION = "tiltify-campaignDonation",
|
|
404
|
+
/** Throne gift purchase */
|
|
405
|
+
THRONE_GIFT_PURCHASE = "throne-giftPurchase",
|
|
404
406
|
/** TipeeeStream donation */
|
|
405
407
|
TIPEEESTREAM_DONATION = "tipeeestream-donation",
|
|
406
408
|
/** TreatStream treat */
|
|
@@ -678,6 +680,7 @@ export declare const LumiaAlertFriendlyValues: {
|
|
|
678
680
|
"extralife-donation": string;
|
|
679
681
|
"donordrive-donation": string;
|
|
680
682
|
"tiltify-campaignDonation": string;
|
|
683
|
+
"throne-giftPurchase": string;
|
|
681
684
|
"tipeeestream-donation": string;
|
|
682
685
|
"treatstream-treat": string;
|
|
683
686
|
"patreon-campaignPledge": string;
|
package/dist/activity.types.js
CHANGED
|
@@ -422,6 +422,8 @@ var LumiaAlertValues;
|
|
|
422
422
|
LumiaAlertValues["DONORDRIVE_DONATION"] = "donordrive-donation";
|
|
423
423
|
/** Tiltify campaign donation */
|
|
424
424
|
LumiaAlertValues["TILTIFY_DONATION"] = "tiltify-campaignDonation";
|
|
425
|
+
/** Throne gift purchase */
|
|
426
|
+
LumiaAlertValues["THRONE_GIFT_PURCHASE"] = "throne-giftPurchase";
|
|
425
427
|
/** TipeeeStream donation */
|
|
426
428
|
LumiaAlertValues["TIPEEESTREAM_DONATION"] = "tipeeestream-donation";
|
|
427
429
|
/** TreatStream treat */
|
|
@@ -708,6 +710,7 @@ exports.LumiaAlertFriendlyValues = {
|
|
|
708
710
|
[LumiaAlertValues.EXTRALIFE_DONATION]: 'Extralife Tip',
|
|
709
711
|
[LumiaAlertValues.DONORDRIVE_DONATION]: 'Donordrive Tip',
|
|
710
712
|
[LumiaAlertValues.TILTIFY_DONATION]: 'Tiltify Campaign Tip',
|
|
713
|
+
[LumiaAlertValues.THRONE_GIFT_PURCHASE]: 'Throne Gift Purchase',
|
|
711
714
|
// [LumiaAlertValues.PAYPAL_PAYMENT_COMPLETE]: "Paypal Payment Complete",
|
|
712
715
|
// [LumiaAlertValues.PAYPAL_PAYMENT_DENIED]: "Paypal Payment Denied",
|
|
713
716
|
[LumiaAlertValues.TIPEEESTREAM_DONATION]: 'Tipeeestream Tip',
|
package/dist/alert.types.js
CHANGED
|
@@ -7135,6 +7135,59 @@ exports.LumiaAlertConfigs = {
|
|
|
7135
7135
|
{ type: LumiaVariationConditions.EQUAL_VARIABLE },
|
|
7136
7136
|
],
|
|
7137
7137
|
},
|
|
7138
|
+
[activity_types_1.LumiaAlertValues.THRONE_GIFT_PURCHASE]: {
|
|
7139
|
+
connection: event_types_1.LumiaIntegrations.THRONE,
|
|
7140
|
+
message: '{{username}} sent {{itemName}} from Throne. {{message}}',
|
|
7141
|
+
eventlistMessage: 'Gift Purchase',
|
|
7142
|
+
eventlistDetailedMessage: 'sent {{itemName}}',
|
|
7143
|
+
acceptedVariables: variables_types_1.AllVariables.throne.alerts.giftPurchase,
|
|
7144
|
+
quickActions: [
|
|
7145
|
+
{
|
|
7146
|
+
label: 'Gift',
|
|
7147
|
+
dynamic: { value: 'AirPods Max', name: 'AirPods Max' },
|
|
7148
|
+
extraSettings: {
|
|
7149
|
+
username: 'lumiastream',
|
|
7150
|
+
displayname: 'lumiastream',
|
|
7151
|
+
message: "Keep doing what you're doing!",
|
|
7152
|
+
itemName: 'AirPods Max',
|
|
7153
|
+
itemThumbnailUrl: 'https://m.media-amazon.com/images/I/81jqUPkIVRL._AC_SX522_.jpg',
|
|
7154
|
+
isSurpriseGift: false,
|
|
7155
|
+
creatorUsername: 'lumiastream',
|
|
7156
|
+
},
|
|
7157
|
+
},
|
|
7158
|
+
],
|
|
7159
|
+
inputFields: [
|
|
7160
|
+
{
|
|
7161
|
+
type: 'text',
|
|
7162
|
+
label: 'Username',
|
|
7163
|
+
variableField: 'username',
|
|
7164
|
+
required: false,
|
|
7165
|
+
default: 'lumiastream',
|
|
7166
|
+
},
|
|
7167
|
+
{
|
|
7168
|
+
type: 'text',
|
|
7169
|
+
label: 'Item',
|
|
7170
|
+
dynamicField: 'value',
|
|
7171
|
+
variableField: 'itemName',
|
|
7172
|
+
required: true,
|
|
7173
|
+
default: 'AirPods Max',
|
|
7174
|
+
},
|
|
7175
|
+
{
|
|
7176
|
+
type: 'text',
|
|
7177
|
+
label: 'Message',
|
|
7178
|
+
variableField: 'message',
|
|
7179
|
+
required: false,
|
|
7180
|
+
default: "Keep doing what you're doing!",
|
|
7181
|
+
},
|
|
7182
|
+
],
|
|
7183
|
+
LumiaVariationConditions: [
|
|
7184
|
+
{ type: LumiaVariationConditions.RANDOM },
|
|
7185
|
+
{
|
|
7186
|
+
type: LumiaVariationConditions.EQUAL_STRING,
|
|
7187
|
+
},
|
|
7188
|
+
{ type: LumiaVariationConditions.EQUAL_VARIABLE },
|
|
7189
|
+
],
|
|
7190
|
+
},
|
|
7138
7191
|
// },
|
|
7139
7192
|
// fourthwall: {
|
|
7140
7193
|
[activity_types_1.LumiaAlertValues.FOURTHWALL_DONATION]: {
|
|
@@ -18,6 +18,7 @@ Runtime reminders:
|
|
|
18
18
|
- Read Config/Data values from `Overlay.data`, not from a bare top-level `data` variable.
|
|
19
19
|
- JS is already wrapped by Lumia in an async function, so top-level `await` is allowed.
|
|
20
20
|
- Use literal listener names like `Overlay.on('chat', ...)` so Lumia can auto-subscribe to events.
|
|
21
|
+
- For full event payload shapes, use the Overlay Type Definitions page or `custom-overlays.d.ts`.
|
|
21
22
|
- Use `Overlay.deleteStorage`, not `Overlay.removeStorage`.
|
|
22
23
|
|
|
23
24
|
### `window.Overlay` interface
|
|
@@ -106,6 +106,57 @@ Overlay.on("chat", (data) => {
|
|
|
106
106
|
toast(`New chat message received from ${username}. They said ${message}`);
|
|
107
107
|
});
|
|
108
108
|
|
|
109
|
+
// Full chat payload shape.
|
|
110
|
+
Overlay.on("chat", (data) => {
|
|
111
|
+
const {
|
|
112
|
+
origin, // Platform origin, such as "twitch", "youtube", "kick", "tiktok", or "facebook"
|
|
113
|
+
id, // Platform message id when available
|
|
114
|
+
username, // Account username/login
|
|
115
|
+
displayname, // Display name when available
|
|
116
|
+
channel, // Channel or room where the message was sent
|
|
117
|
+
avatar, // User avatar URL when available
|
|
118
|
+
message, // Chat message text
|
|
119
|
+
color, // User chat color, usually a hex value
|
|
120
|
+
badges, // Badge ids or badge image URLs
|
|
121
|
+
badgesLookup, // Badge id to image URL lookup map for some platforms
|
|
122
|
+
badgesRaw, // Raw platform badge string
|
|
123
|
+
emotesRaw, // Raw platform emote string
|
|
124
|
+
emotesPack, // Platform-specific emote metadata
|
|
125
|
+
isCheer, // Whether the message includes a cheer/bits event
|
|
126
|
+
reply, // Reply metadata: { username, body }
|
|
127
|
+
isPowerup, // Twitch Power-up flag
|
|
128
|
+
powerupType, // Twitch Power-up type
|
|
129
|
+
powerupName, // Twitch Power-up animation name
|
|
130
|
+
sharedMessage, // Twitch shared chat source metadata
|
|
131
|
+
lumiauserlevels, // Numeric Lumia user level ids
|
|
132
|
+
userLevels, // Boolean role map: isSelf, broadcaster, mod, vip, tier3, tier2, subscriber, regular, follower, anyone
|
|
133
|
+
time, // Local HH:mm:ss time generated by Lumia
|
|
134
|
+
timestamp, // Millisecond timestamp generated by Lumia
|
|
135
|
+
} = data;
|
|
136
|
+
|
|
137
|
+
console.log(origin, displayname || username, message, {
|
|
138
|
+
id,
|
|
139
|
+
channel,
|
|
140
|
+
avatar,
|
|
141
|
+
color,
|
|
142
|
+
badges,
|
|
143
|
+
badgesLookup,
|
|
144
|
+
badgesRaw,
|
|
145
|
+
emotesRaw,
|
|
146
|
+
emotesPack,
|
|
147
|
+
isCheer,
|
|
148
|
+
reply,
|
|
149
|
+
isPowerup,
|
|
150
|
+
powerupType,
|
|
151
|
+
powerupName,
|
|
152
|
+
sharedMessage,
|
|
153
|
+
lumiauserlevels,
|
|
154
|
+
userLevels,
|
|
155
|
+
time,
|
|
156
|
+
timestamp,
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
|
|
109
160
|
Overlay.on("alert", (data) => {
|
|
110
161
|
console.log("alert", data);
|
|
111
162
|
const settings = data.extraSettings || {};
|
|
@@ -199,6 +250,8 @@ Overlay.on('overlaycontent', (data) => {
|
|
|
199
250
|
|
|
200
251
|
Lumia auto-detects event subscriptions from literal `Overlay.on("event", ...)` calls in the JS tab. Use direct string literals so the overlay subscribes to the needed events. The Data tab only needs an `events` array for legacy/manual cases.
|
|
201
252
|
|
|
253
|
+
For full event payload shapes, see the [Overlay Type Definitions](/docs/custom-overlays/types). The raw declarations live in `custom-overlays.d.ts` as `ChatEvent`, `AlertEvent`, `HfxEvent`, `VirtualLightEvent`, and `CustomOverlayContentEvent`.
|
|
254
|
+
|
|
202
255
|
### OverlayListener types
|
|
203
256
|
|
|
204
257
|
| Value | Label |
|
|
@@ -210,7 +263,7 @@ Lumia auto-detects event subscriptions from literal `Overlay.on("event", ...)` c
|
|
|
210
263
|
| overlaycontent | Custom Overlay Content |
|
|
211
264
|
|
|
212
265
|
> 💡 Performance Tip: Only selected events are delivered to the overlay.
|
|
213
|
-
> 💡 The TypeScript types for
|
|
266
|
+
> 💡 The TypeScript types for chat, alerts, HFX, virtual lights, and overlay content are within the Types tab.
|
|
214
267
|
> 💡 `overlaycontent` sends custom content only to custom overlay layers with the matching `codeId`.
|
|
215
268
|
|
|
216
269
|
### Showing Toasts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Custom Overlays Examples
|
|
2
2
|
|
|
3
|
-
> Need to inspect what an alert returns? Open the [alert explorer](/docs/variables#alert-explorer) on the Platform Variables page to browse `data.alert`, `data.extraSettings.*`, and the fields available for each alert.
|
|
3
|
+
> Need to inspect what an alert returns? Open the [alert explorer](/docs/variables#alert-explorer) on the Platform Variables page to browse `data.alert`, `data.extraSettings.*`, and the fields available for each alert. For full `Overlay.on(...)` payload types, see [Overlay Type Definitions](/docs/custom-overlays/types).
|
|
4
4
|
|
|
5
5
|
## Index
|
|
6
6
|
|
|
@@ -48,6 +48,26 @@ export enum ConfigsFieldType {
|
|
|
48
48
|
*/
|
|
49
49
|
export type OverlayListener = 'chat' | 'alert' | 'hfx' | 'virtuallight' | 'overlaycontent';
|
|
50
50
|
|
|
51
|
+
export type ChatUserLevelKey = 'isSelf' | 'broadcaster' | 'mod' | 'vip' | 'tier3' | 'tier2' | 'subscriber' | 'regular' | 'follower' | 'anyone';
|
|
52
|
+
|
|
53
|
+
export type ChatUserLevels = Record<ChatUserLevelKey, boolean>;
|
|
54
|
+
|
|
55
|
+
export interface ChatReply {
|
|
56
|
+
/** Username of the message being replied to */
|
|
57
|
+
username: string;
|
|
58
|
+
/** Body of the message being replied to */
|
|
59
|
+
body: string;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface ChatSharedMessage {
|
|
63
|
+
/** Avatar for the source user/channel of the shared message */
|
|
64
|
+
avatar: string;
|
|
65
|
+
/** Display name for the source user/channel of the shared message */
|
|
66
|
+
displayname: string;
|
|
67
|
+
/** User ID for the source user/channel of the shared message */
|
|
68
|
+
userId: string;
|
|
69
|
+
}
|
|
70
|
+
|
|
51
71
|
/**
|
|
52
72
|
* Chat message event data structure.
|
|
53
73
|
* Fired when a chat message is received from any connected platform.
|
|
@@ -55,53 +75,50 @@ export type OverlayListener = 'chat' | 'alert' | 'hfx' | 'virtuallight' | 'overl
|
|
|
55
75
|
export interface ChatEvent {
|
|
56
76
|
/** Platform origin (e.g., "twitch", "kick", "youtube", "tiktok") */
|
|
57
77
|
origin: string;
|
|
58
|
-
/** Unique message identifier */
|
|
59
|
-
id
|
|
60
|
-
/** User's account username */
|
|
61
|
-
username
|
|
78
|
+
/** Unique message identifier when the platform provides one */
|
|
79
|
+
id?: string;
|
|
80
|
+
/** User's account username/login */
|
|
81
|
+
username?: string;
|
|
62
82
|
/** User's display name (may differ from username) */
|
|
63
|
-
displayname
|
|
83
|
+
displayname?: string;
|
|
64
84
|
/** Channel name where the message was sent */
|
|
65
|
-
channel
|
|
85
|
+
channel?: string;
|
|
66
86
|
/** URL to the user's avatar image */
|
|
67
|
-
avatar
|
|
87
|
+
avatar?: string | null;
|
|
68
88
|
/** The chat message content */
|
|
69
|
-
message
|
|
89
|
+
message?: string;
|
|
70
90
|
/** User's chat color as hex code (e.g., "#00FF7F") */
|
|
71
|
-
color
|
|
72
|
-
/**
|
|
73
|
-
badges
|
|
74
|
-
/**
|
|
75
|
-
|
|
76
|
-
/** Raw
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
|
|
91
|
+
color?: string;
|
|
92
|
+
/** Badge identifiers or badge image URLs */
|
|
93
|
+
badges?: string[];
|
|
94
|
+
/** Lookup map used by some platforms to resolve badge identifiers to image URLs */
|
|
95
|
+
badgesLookup?: Record<string, string>;
|
|
96
|
+
/** Raw badge data string (e.g., "broadcaster/1,subscriber/12,vip/1") */
|
|
97
|
+
badgesRaw?: string;
|
|
98
|
+
/** Raw emotes data string from the platform */
|
|
99
|
+
emotesRaw?: string;
|
|
100
|
+
/** Emote pack data structure; shape varies by platform */
|
|
101
|
+
emotesPack?: Record<string, unknown>;
|
|
102
|
+
/** Whether the message contains a cheer/bits event */
|
|
103
|
+
isCheer?: boolean;
|
|
80
104
|
/** Reply data if this message is a reply to another */
|
|
81
|
-
reply
|
|
105
|
+
reply?: ChatReply | null;
|
|
106
|
+
/** Whether this is a Twitch Power-up message */
|
|
107
|
+
isPowerup?: boolean;
|
|
108
|
+
/** Twitch Power-up message type */
|
|
109
|
+
powerupType?: 'animated-message' | 'gigantified-emote-message' | string | false;
|
|
110
|
+
/** Twitch Power-up animation name */
|
|
111
|
+
powerupName?: 'simmer' | 'rainbow-eclipse' | 'cosmic-abyss' | string | false;
|
|
112
|
+
/** Shared chat source metadata when Twitch shared chat provides it */
|
|
113
|
+
sharedMessage?: ChatSharedMessage;
|
|
82
114
|
/** Lumia-specific user level identifiers */
|
|
83
|
-
lumiauserlevels
|
|
115
|
+
lumiauserlevels?: number[];
|
|
84
116
|
/** User permission levels and roles */
|
|
85
|
-
userLevels
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
/** Whether the user is a VIP */
|
|
91
|
-
vip: boolean;
|
|
92
|
-
/** Whether the user is a tier 3 subscriber */
|
|
93
|
-
tier3: boolean;
|
|
94
|
-
/** Whether the user is a tier 2 subscriber */
|
|
95
|
-
tier2: boolean;
|
|
96
|
-
/** Whether the user is a subscriber (any tier) */
|
|
97
|
-
subscriber: boolean;
|
|
98
|
-
/** Whether the user is a regular viewer */
|
|
99
|
-
regular: boolean;
|
|
100
|
-
/** Whether the user is a follower */
|
|
101
|
-
follower: boolean;
|
|
102
|
-
/** Always true - indicates any user level */
|
|
103
|
-
anyone: boolean;
|
|
104
|
-
};
|
|
117
|
+
userLevels?: ChatUserLevels;
|
|
118
|
+
/** Local HH:mm:ss time string generated by Lumia */
|
|
119
|
+
time?: string;
|
|
120
|
+
/** Millisecond timestamp generated by Lumia */
|
|
121
|
+
timestamp?: number;
|
|
105
122
|
}
|
|
106
123
|
|
|
107
124
|
/**
|
|
@@ -672,6 +689,8 @@ export declare enum LumiaAlertValues {
|
|
|
672
689
|
DONORDRIVE_DONATION = "donordrive-donation",
|
|
673
690
|
/** Tiltify campaign donation */
|
|
674
691
|
TILTIFY_DONATION = "tiltify-campaignDonation",
|
|
692
|
+
/** Throne gift purchase */
|
|
693
|
+
THRONE_GIFT_PURCHASE = "throne-giftPurchase",
|
|
675
694
|
/** TipeeeStream donation */
|
|
676
695
|
TIPEEESTREAM_DONATION = "tipeeestream-donation",
|
|
677
696
|
/** TreatStream treat */
|
|
@@ -52,6 +52,8 @@ In JS, wrap tokens in quotes: `const n = Number("{{twitch_session_bits_count}}")
|
|
|
52
52
|
|
|
53
53
|
Valid listener names: `chat`, `alert`, `hfx`, `virtuallight`, `overlaycontent`.
|
|
54
54
|
|
|
55
|
+
Full event payload shapes are in `custom-overlays.d.ts` and the Overlay Type Definitions page. Use `ChatEvent`, `AlertEvent`, `HfxEvent`, `VirtualLightEvent`, and `CustomOverlayContentEvent` there before guessing fields.
|
|
56
|
+
|
|
55
57
|
Alert rules:
|
|
56
58
|
|
|
57
59
|
- Branch on exact `data.alert` string equality. No `includes`, no `type`, no `platform` heuristics.
|
|
@@ -48,6 +48,26 @@ export enum ConfigsFieldType {
|
|
|
48
48
|
*/
|
|
49
49
|
export type OverlayListener = 'chat' | 'alert' | 'hfx' | 'virtuallight' | 'overlaycontent';
|
|
50
50
|
|
|
51
|
+
export type ChatUserLevelKey = 'isSelf' | 'broadcaster' | 'mod' | 'vip' | 'tier3' | 'tier2' | 'subscriber' | 'regular' | 'follower' | 'anyone';
|
|
52
|
+
|
|
53
|
+
export type ChatUserLevels = Record<ChatUserLevelKey, boolean>;
|
|
54
|
+
|
|
55
|
+
export interface ChatReply {
|
|
56
|
+
/** Username of the message being replied to */
|
|
57
|
+
username: string;
|
|
58
|
+
/** Body of the message being replied to */
|
|
59
|
+
body: string;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface ChatSharedMessage {
|
|
63
|
+
/** Avatar for the source user/channel of the shared message */
|
|
64
|
+
avatar: string;
|
|
65
|
+
/** Display name for the source user/channel of the shared message */
|
|
66
|
+
displayname: string;
|
|
67
|
+
/** User ID for the source user/channel of the shared message */
|
|
68
|
+
userId: string;
|
|
69
|
+
}
|
|
70
|
+
|
|
51
71
|
/**
|
|
52
72
|
* Chat message event data structure.
|
|
53
73
|
* Fired when a chat message is received from any connected platform.
|
|
@@ -55,53 +75,50 @@ export type OverlayListener = 'chat' | 'alert' | 'hfx' | 'virtuallight' | 'overl
|
|
|
55
75
|
export interface ChatEvent {
|
|
56
76
|
/** Platform origin (e.g., "twitch", "kick", "youtube", "tiktok") */
|
|
57
77
|
origin: string;
|
|
58
|
-
/** Unique message identifier */
|
|
59
|
-
id
|
|
60
|
-
/** User's account username */
|
|
61
|
-
username
|
|
78
|
+
/** Unique message identifier when the platform provides one */
|
|
79
|
+
id?: string;
|
|
80
|
+
/** User's account username/login */
|
|
81
|
+
username?: string;
|
|
62
82
|
/** User's display name (may differ from username) */
|
|
63
|
-
displayname
|
|
83
|
+
displayname?: string;
|
|
64
84
|
/** Channel name where the message was sent */
|
|
65
|
-
channel
|
|
85
|
+
channel?: string;
|
|
66
86
|
/** URL to the user's avatar image */
|
|
67
|
-
avatar
|
|
87
|
+
avatar?: string | null;
|
|
68
88
|
/** The chat message content */
|
|
69
|
-
message
|
|
89
|
+
message?: string;
|
|
70
90
|
/** User's chat color as hex code (e.g., "#00FF7F") */
|
|
71
|
-
color
|
|
72
|
-
/**
|
|
73
|
-
badges
|
|
74
|
-
/**
|
|
75
|
-
|
|
76
|
-
/** Raw
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
|
|
91
|
+
color?: string;
|
|
92
|
+
/** Badge identifiers or badge image URLs */
|
|
93
|
+
badges?: string[];
|
|
94
|
+
/** Lookup map used by some platforms to resolve badge identifiers to image URLs */
|
|
95
|
+
badgesLookup?: Record<string, string>;
|
|
96
|
+
/** Raw badge data string (e.g., "broadcaster/1,subscriber/12,vip/1") */
|
|
97
|
+
badgesRaw?: string;
|
|
98
|
+
/** Raw emotes data string from the platform */
|
|
99
|
+
emotesRaw?: string;
|
|
100
|
+
/** Emote pack data structure; shape varies by platform */
|
|
101
|
+
emotesPack?: Record<string, unknown>;
|
|
102
|
+
/** Whether the message contains a cheer/bits event */
|
|
103
|
+
isCheer?: boolean;
|
|
80
104
|
/** Reply data if this message is a reply to another */
|
|
81
|
-
reply
|
|
105
|
+
reply?: ChatReply | null;
|
|
106
|
+
/** Whether this is a Twitch Power-up message */
|
|
107
|
+
isPowerup?: boolean;
|
|
108
|
+
/** Twitch Power-up message type */
|
|
109
|
+
powerupType?: 'animated-message' | 'gigantified-emote-message' | string | false;
|
|
110
|
+
/** Twitch Power-up animation name */
|
|
111
|
+
powerupName?: 'simmer' | 'rainbow-eclipse' | 'cosmic-abyss' | string | false;
|
|
112
|
+
/** Shared chat source metadata when Twitch shared chat provides it */
|
|
113
|
+
sharedMessage?: ChatSharedMessage;
|
|
82
114
|
/** Lumia-specific user level identifiers */
|
|
83
|
-
lumiauserlevels
|
|
115
|
+
lumiauserlevels?: number[];
|
|
84
116
|
/** User permission levels and roles */
|
|
85
|
-
userLevels
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
/** Whether the user is a VIP */
|
|
91
|
-
vip: boolean;
|
|
92
|
-
/** Whether the user is a tier 3 subscriber */
|
|
93
|
-
tier3: boolean;
|
|
94
|
-
/** Whether the user is a tier 2 subscriber */
|
|
95
|
-
tier2: boolean;
|
|
96
|
-
/** Whether the user is a subscriber (any tier) */
|
|
97
|
-
subscriber: boolean;
|
|
98
|
-
/** Whether the user is a regular viewer */
|
|
99
|
-
regular: boolean;
|
|
100
|
-
/** Whether the user is a follower */
|
|
101
|
-
follower: boolean;
|
|
102
|
-
/** Always true - indicates any user level */
|
|
103
|
-
anyone: boolean;
|
|
104
|
-
};
|
|
117
|
+
userLevels?: ChatUserLevels;
|
|
118
|
+
/** Local HH:mm:ss time string generated by Lumia */
|
|
119
|
+
time?: string;
|
|
120
|
+
/** Millisecond timestamp generated by Lumia */
|
|
121
|
+
timestamp?: number;
|
|
105
122
|
}
|
|
106
123
|
|
|
107
124
|
/**
|
|
@@ -672,6 +689,8 @@ export declare enum LumiaAlertValues {
|
|
|
672
689
|
DONORDRIVE_DONATION = "donordrive-donation",
|
|
673
690
|
/** Tiltify campaign donation */
|
|
674
691
|
TILTIFY_DONATION = "tiltify-campaignDonation",
|
|
692
|
+
/** Throne gift purchase */
|
|
693
|
+
THRONE_GIFT_PURCHASE = "throne-giftPurchase",
|
|
675
694
|
/** TipeeeStream donation */
|
|
676
695
|
TIPEEESTREAM_DONATION = "tipeeestream-donation",
|
|
677
696
|
/** TreatStream treat */
|
package/dist/event.types.d.ts
CHANGED
package/dist/event.types.js
CHANGED
|
@@ -15,6 +15,7 @@ var LumiaIntegrations;
|
|
|
15
15
|
LumiaIntegrations["EXTRALIFE"] = "extralife";
|
|
16
16
|
LumiaIntegrations["DONORDRIVE"] = "donordrive";
|
|
17
17
|
LumiaIntegrations["TILTIFY"] = "tiltify";
|
|
18
|
+
LumiaIntegrations["THRONE"] = "throne";
|
|
18
19
|
LumiaIntegrations["PATREON"] = "patreon";
|
|
19
20
|
LumiaIntegrations["WOOCOMMERCE"] = "woocommerce";
|
|
20
21
|
LumiaIntegrations["KOFI"] = "kofi";
|
package/dist/variables.types.js
CHANGED
|
@@ -1710,6 +1710,12 @@ exports.AllVariables = {
|
|
|
1710
1710
|
campaignDonation: ['username', 'currency', 'amount'],
|
|
1711
1711
|
},
|
|
1712
1712
|
},
|
|
1713
|
+
throne: {
|
|
1714
|
+
variables: ['throne_last_gift'],
|
|
1715
|
+
alerts: {
|
|
1716
|
+
giftPurchase: ['username', 'displayname', 'message', 'itemName', 'itemThumbnailUrl', 'isSurpriseGift', 'creatorUsername', 'raw'],
|
|
1717
|
+
},
|
|
1718
|
+
},
|
|
1713
1719
|
tipeeestream: {
|
|
1714
1720
|
alerts: {
|
|
1715
1721
|
donation: ['username', 'currency', 'amount'],
|