-
Notifications
You must be signed in to change notification settings - Fork 0
Event Configs
Source package: com.jopre.streamlink.config.events.types
An Event Config is one entry in a provider's configured event list — it says "when this
Twitch (or StreamLink-native) event fires, run these named actions." Each concrete class below
extends com.jopre.streamlink.config.events.BaseEventConfig and represents one JSON object.
Event Configs for a given provider are grouped by ProviderEventList (provider +
eventConfigList), and one or more providers are grouped by EventConfigList
(providerEvents).
Each entry in an Event Config's actions list is presumed to reference an Action by name/id
(see Action Items for what an Action ultimately runs, and
Conditions for how an Action can be gated).
The enum referenced by these classes is documented separately on the Event Config Enums page and linked from the relevant field below.
EventConfigDeserializer reads the event field of each JSON object, maps it to an
EventConfigType constant, and deserializes the object into the matching class listed in the
table below.
event JSON value |
Event Config Class |
|---|---|
channel_point_claim |
ChannelPointRedeemConfig |
channel_follow |
ChannelFollowEventConfig |
channel_subscription |
ChannelSubscribeEventConfig |
channel_raid |
ChannelRaidEventConfig |
channel_chat |
ChannelChatConfig |
channel_bits |
ChannelBitsConfig |
hype_train_start |
ChannelHypeTrainBeginConfig |
hype_train_end |
ChannelHypeTrainEndConfig |
hype_train_progress |
ChannelHypeTrainProgressConfig |
channel_subscription_gift |
ChannelGiftSubConfig |
user_login |
StreamLinkUserAction |
user_logout |
none — see note on the enums page |
Note: an unrecognized
eventvalue throws anIllegalArgumentException. A recognized value with no matchingcase(currently onlyuser_logout) instead falls through tonull— see the caution underEventConfigTypeon the enums page.
Every Event Config below inherits these two fields from the BaseEventConfig base class, in
addition to whatever fields are listed in its own section.
| Field | JSON Key | Data Type | Description |
|---|---|---|---|
event |
event |
EventConfigType |
The Type of Event that occurred |
actions |
actions |
List of String | What actions to perform when this event occurs |
This Configuration Element is to define what actions to occur when bits are sent in the broad caster's channel
This config adds no fields beyond the common fields.
Sample JSON
{
"event": "channel_bits",
"actions": ["celebrate-bits-cheer"]
}This Configuration element is to define what happens when a chat message comes in the broad caster's channel
This config adds no fields beyond the common fields.
Sample JSON
{
"event": "channel_chat",
"actions": ["handle-chat-command"]
}This configuration element is to define what happens when a follow event occurs
This config adds no fields beyond the common fields.
Sample JSON
{
"event": "channel_follow",
"actions": ["announce-new-follower"]
}This Element is to define what happens when a gift subscription event occurs
This config adds no fields beyond the common fields.
Sample JSON
{
"event": "channel_subscription_gift",
"actions": ["announce-gift-sub"]
}This configuration element defines what actions occur when a hype train begins
This config adds no fields beyond the common fields.
Sample JSON
{
"event": "hype_train_start",
"actions": ["hype-train-start-effects"]
}This configuration element defines what actions occur when a hype train ends
This config adds no fields beyond the common fields.
Sample JSON
{
"event": "hype_train_end",
"actions": ["hype-train-end-effects"]
}This configuration element defines what actions occur when the completion percentage goes up in a hype train level
This config adds no fields beyond the common fields.
Sample JSON
{
"event": "hype_train_progress",
"actions": ["hype-train-progress-effects"]
}This Configuraton Element defines what occurs when a channel point reward is triggered
| Field | JSON Key | Data Type | Description |
|---|---|---|---|
rewardIdent |
rewardIdent |
String | The ID of the custom reward to bind to |
Sample JSON
{
"event": "channel_point_claim",
"actions": ["spawn-mob-reward"],
"rewardIdent": "spawn-zombie-reward-id"
}This configuration Element contains configuration information for when a raid occurs
This config adds no fields beyond the common fields.
Sample JSON
{
"event": "channel_raid",
"actions": ["announce-raid"]
}This Configuration Element defines what actions to execute when a raid occurs
Sample JSON
{
"event": "channel_raid",
"actions": ["announce-raid"]
}This configuration Element will define what happens when a user subscribes to the channel
This config adds no fields beyond the common fields.
Sample JSON
{
"event": "channel_subscription",
"actions": ["announce-subscriber"]
}This Configuration Element defines what happens when the user logs in
This config adds no fields beyond the common fields.
Unlike the other classes on this page, this one models a StreamLink-native event
(user_login) rather than a Twitch EventSub event — see also the note about
STREAM_LINK_USER_LOGOUT having no corresponding class, on the
Event Config Enums page.
Sample JSON
{
"event": "user_login",
"actions": ["welcome-back-message"]
}