Extension
- Alert key:
twitch-extension - Source: Twitch
- Event list label: Redeemed
Default message template
{{username}} redeemed {{command}} for {{amount}} {{amount_type}}
Template variables
Use any of these in alert text, TTS, or chat templates. The same names appear under data.extraSettings.* when you subscribe via Overlay.on('alert').
| Template variable | Overlay payload field | Description |
|---|---|---|
{{username}} | data.extraSettings.username | The username of the sender |
{{displayname}} | data.extraSettings.displayname | The display name of the sender |
{{userId}} | data.extraSettings.userId | The user ID of the sender |
{{avatar}} | data.extraSettings.avatar | The url of the avatar of the sender for a message |
{{channelDescription}} | data.extraSettings.channelDescription | The description of the target channel |
{{channelViews}} | data.extraSettings.channelViews | Amount of views the target channel has |
{{originType}} | data.extraSettings.originType | No description available yet. |
{{queueType}} | data.extraSettings.queueType | No description available yet. |
{{command}} | data.extraSettings.command | The command that was triggered for the message |
{{prompt}} | data.extraSettings.prompt | The users message that was prompted |
{{message}} | data.extraSettings.message | The message text sent by the user |
{{messageWithoutEmotes}} | data.extraSettings.messageWithoutEmotes | The message that the sender sent without the command/alias and without emots inside of the message. Mainly used for TTS. |
{{rawMessageWithoutEmotes}} | data.extraSettings.rawMessageWithoutEmotes | The raw message that the sender sent without emotes inside of the message |
{{bits}} | data.extraSettings.bits | (Twitch) How many bits were used with the Twitch Extension redemption |
{{timestamp}} | data.extraSettings.timestamp | The time the command was triggered |
{{points_cost}} | data.extraSettings.points_cost | Loyalty Points command cost |
Example payloads
Each scenario below mirrors what Lumia emits in Overlay.on('alert', (data) => …).
Redeemed for 100 bits
{
"alert": "twitch-extension",
"dynamic": {
"value": "100",
"name": "lumibeam",
"currency": "bits"
},
"extraSettings": {
"command": "lumibeam",
"message": "pew pew",
"username": "lumiastream",
"avatar": "https://static-cdn.jtvnw.net/jtv_user_pictures/2b1fa336-f9b2-42cf-bd2c-98675da74982-profile_image-70x70.png",
"displayname": "LumiaStream",
"amount": "100",
"amount_type": "bits",
"currency": "bits",
"currencySymbol": "♦",
"userId": "",
"channelDescription": "",
"channelViews": "",
"originType": "",
"queueType": "",
"prompt": "",
"messageWithoutEmotes": "",
"rawMessageWithoutEmotes": "",
"bits": "",
"timestamp": "",
"points_cost": ""
}
}
Redeemed for 2000 bits
{
"alert": "twitch-extension",
"dynamic": {
"value": "2000",
"name": "lumibeam",
"currency": "bits"
},
"extraSettings": {
"command": "lumibeam",
"message": "pew pew",
"username": "lumiastream",
"avatar": "https://static-cdn.jtvnw.net/jtv_user_pictures/2b1fa336-f9b2-42cf-bd2c-98675da74982-profile_image-70x70.png",
"displayname": "LumiaStream",
"amount": "2000",
"amount_type": "bits",
"currency": "bits",
"currencySymbol": "♦",
"userId": "",
"channelDescription": "",
"channelViews": "",
"originType": "",
"queueType": "",
"prompt": "",
"messageWithoutEmotes": "",
"rawMessageWithoutEmotes": "",
"bits": "",
"timestamp": "",
"points_cost": ""
}
}
Redeemed for 10000 bits
{
"alert": "twitch-extension",
"dynamic": {
"value": "10000",
"name": "lumibeam",
"currency": "bits"
},
"extraSettings": {
"command": "lumibeam",
"message": "pew pew",
"username": "lumiastream",
"avatar": "https://static-cdn.jtvnw.net/jtv_user_pictures/2b1fa336-f9b2-42cf-bd2c-98675da74982-profile_image-70x70.png",
"displayname": "LumiaStream",
"amount": "10000",
"amount_type": "bits",
"currency": "bits",
"currencySymbol": "♦",
"userId": "",
"channelDescription": "",
"channelViews": "",
"originType": "",
"queueType": "",
"prompt": "",
"messageWithoutEmotes": "",
"rawMessageWithoutEmotes": "",
"bits": "",
"timestamp": "",
"points_cost": ""
}
}
Variation conditions
Dimensions you can branch on when configuring alert variations:
RANDOMEQUAL_USERNAMEEQUAL_NUMBER- Amount is equal toGREATER_NUMBER- Amount is greater than or equal toEQUAL_VARIABLE
Related
- Alert Explorer - live preview of every alert
- Overlay Type Definitions - full
AlertEventTypeScript type