adbreak_begin#

Ad-break has begun and ads are playing now in mentioned channel.

Fields:

  • channel string - Channel the event occurred in
  • duration int64 - Duration of the ad break in seconds
  • is_automatic bool - Whether the ad break was started automatically
  • started_at time.Time - Time the ad break started

announcement#

An announcement was sent in chat.

Fields:

  • channel string - Channel the event occurred in
  • color string - Announcement color
  • message string - Announcement text
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

ban#

Moderator action caused a user to be banned from chat.

Note: This event does not contain the acting user! You cannot use the {{.user}} variable.

Fields:

  • channel string - Channel the event occurred in
  • target_id string - ID of the user being banned
  • target_name string - Login name of the user being banned

bits#

User spent bits in the channel. The full message is available like in a normal chat message, additionally the {{ .bits }} field is added with the total amount of bits spent.

Fields:

  • bits int64 - Total amount of bits spent in the message
  • channel string - Channel the event occurred in
  • message string - Chat message containing the bits
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

category_update#

The current category for the channel was changed. (This event has some delay to the real category change!)

Fields:

  • category string - New stream category
  • channel string - Channel the event occurred in

channelpoint_redeem#

A custom channel-point reward was redeemed in the given channel. (Only available when EventSub support is available and streamer granted required permissions!)

Fields:

  • channel string - Channel the event occurred in
  • reward_cost int64 - Number of points paid for the reward
  • reward_id string - ID of the redeemed reward
  • reward_title string - Title of the redeemed reward
  • status string - Status of the redemption
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event
  • user_input string - Text entered for the reward

clearchat#

Moderator action caused chat to be cleared.

Note: This event does not contain the acting user! You cannot use the {{.user}} variable.

Fields:

  • channel string - Channel the event occurred in

custom#

A custom event was created through the customevent action or API.

Fields:

  • channel string - Channel the event occurred in

  • Any additional fields passed to the custom event

delete#

Moderator action caused a chat message to be deleted.

Note: This event does not contain the acting user! You cannot use the {{.user}} variable.

Fields:

  • channel string - Channel the event occurred in
  • message_id string - UUID of the message being deleted
  • target_name string - Login name of the author of the deleted message

follow#

User followed the channel. This event is not de-duplicated and therefore might be used to spam! (Only available when EventSub support is available!)

Fields:

  • channel string - Channel the event occurred in
  • followed_at time.Time - Time the user followed the channel
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

giftpaidupgrade#

User upgraded their gifted subscription into a paid one. This event does not contain any details about the tier of the paid subscription.

Fields:

  • channel string - Channel the event occurred in
  • gifter string - Login name of the user who gifted the subscription
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

hypetrain_begin#

A Hype-Train has begun in the given channel.

Fields:

  • channel string - Channel the event occurred in
  • event twitch.EventSubEventHypetrain - Raw Hype-Train event
  • level int64 - Current Hype-Train level
  • levelProgress float64 - Progress towards the next Hype-Train level

hypetrain_end#

A Hype-Train has ended in the given channel.

Fields:

  • channel string - Channel the event occurred in
  • event twitch.EventSubEventHypetrain - Raw Hype-Train event
  • level int64 - Current Hype-Train level

hypetrain_progress#

A Hype-Train has progressed in the given channel.

Fields:

  • channel string - Channel the event occurred in
  • event twitch.EventSubEventHypetrain - Raw Hype-Train event
  • level int64 - Current Hype-Train level
  • levelProgress float64 - Progress towards the next Hype-Train level

join#

User joined the channel-chat. This is NOT an indicator they are viewing, the event is NOT reliably sent when the user really joined the chat. The event will be sent with some delay after they join the chat and is sometimes repeated multiple times during their stay. So DO NOT use this to greet users!

Fields:

  • channel string - Channel the event occurred in
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

kofi_donation#

A Ko-fi donation was received through the API-Webhook.

Fields:

  • amount float64 - Amount donated as submitted by Ko-fi
  • channel string - Channel the event occurred for
  • currency string - Currency of the donated amount
  • from string - Name submitted by the donor
  • isFirstSubPayment bool - Whether this is the first subscription payment
  • isSubscription bool - Whether this is a subscription payment
  • message *string (optional) - Message entered by the donor
  • tier *string (optional) - Subscription tier

moderator_add#

A user was added as a moderator to the channel. (Only available when EventSub support is available and the streamer granted the required permission!)

Fields:

  • channel string - Channel the event occurred in
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

moderator_remove#

A user was removed as a moderator from the channel. (Only available when EventSub support is available and the streamer granted the required permission!)

Fields:

  • channel string - Channel the event occurred in
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

outbound_raid#

The channel has raided another channel. (The event is issued in the moment the raid is executed, not when the raid timer starts!)

Fields:

  • channel string - Channel the event occurred in
  • to string - Login name of the channel receiving the raid
  • to_id string - ID of the channel receiving the raid
  • viewers int64 - Number of viewers included in the raid

part#

User left the channel-chat. This is NOT an indicator they are no longer viewing, the event is NOT reliably sent when the user really leaves the chat. The event will be sent with some delay after they leave the chat and is sometimes repeated multiple times during their stay. So this does NOT mean they do no longer read the chat!

Fields:

  • channel string - Channel the event occurred in
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

permit#

User received a permit, which means they are no longer affected by rules which are disabled on permit.

Fields:

  • channel string - Channel the event occurred in
  • to string - Login name of the user who received the permit
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

poll_begin#

A poll was started in the given channel.

Fields:

  • channel string - Channel the event occurred in
  • hasChannelPointVoting bool - Whether channel-point voting is enabled
  • poll twitch.EventSubEventPoll - Raw poll event
  • title string - Poll title

poll_end#

A poll ended in the given channel.

Fields:

  • channel string - Channel the event occurred in
  • hasChannelPointVoting bool - Whether channel-point voting is enabled
  • poll twitch.EventSubEventPoll - Raw poll event
  • status string - Poll status
  • title string - Poll title

poll_progress#

A poll changed in the given channel.

Fields:

  • channel string - Channel the event occurred in
  • hasChannelPointVoting bool - Whether channel-point voting is enabled
  • poll twitch.EventSubEventPoll - Raw poll event
  • title string - Poll title

primepaidupgrade#

User upgraded their Prime subscription into a paid one.

Fields:

  • channel string - Channel the event occurred in
  • plan string - Paid subscription plan
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

raid#

The channel was raided by another user.

Fields:

  • channel string - Channel the event occurred in
  • from string - Login name of the user who raided the channel
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event
  • viewercount int64 - Number of viewers included in the raid

resub#

The user shared their resubscription. (This event is triggered manually by the user using the “Share my Resub” button and does not occur when the user does not actively share their sub!)

Fields:

  • channel string - Channel the event occurred in
  • from string - Login name of the user who resubscribed
  • message string - Message shared with the resubscription
  • multi_month int64 - Multi-month duration in months reported by Twitch
  • plan string - Subscription plan
  • subscribed_months int64 - Number of months the user has been subscribed
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

shoutout_created#

The channel gave another streamer a (Twitch native) shoutout

Fields:

  • channel string - Channel the event occurred in
  • to string - Login name of the channel receiving the shoutout
  • to_id string - ID of the channel receiving the shoutout
  • viewers int64 - Number of viewers shown the shoutout

shoutout_received#

The channel received a (Twitch native) shoutout by another channel.

Fields:

  • channel string - Channel the event occurred in
  • from string - Login name of the channel issuing the shoutout
  • from_id string - ID of the channel issuing the shoutout
  • viewers int64 - Number of viewers shown the shoutout

stream_offline#

The channels stream went offline. (This event has some delay to the real button-press to “stop stream”!)

Fields:

  • channel string - Channel the event occurred in

stream_online#

The channels stream went online. (This event has some delay to the real button-press to “start stream”!)

Fields:

  • channel string - Channel the event occurred in

sub#

The user newly subscribed on their own. (This event is triggered automatically and does not need to be shared actively!)

Fields:

  • channel string - Channel the event occurred in
  • from string - Login name of the user who subscribed
  • multi_month int64 - Multi-month duration in months reported by Twitch
  • plan string - Subscription plan
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

subgift#

The user gifted the subscription to a specific user. (This event DOES occur multiple times after submysterygift events!)

Fields:

  • channel string - Channel the event occurred in
  • from string - Login name of the user who gifted the subscription
  • gifted_months int64 - Number of months the user gifted
  • multi_month int64 - Multi-month duration in months reported by Twitch
  • origin_id string - ID unique to the gift event
  • plan string - Subscription plan
  • subscribed_months int64 - Number of months the recipient has been subscribed
  • to string - Login name of the user who received the subscription
  • total_gifted int64 - Total number of subscriptions gifted by the user
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

submysterygift#

The user gifted multiple subs to the community. (This event is followed by number x subgift events.)

Fields:

  • channel string - Channel the event occurred in
  • from string - Login name of the user who gifted the subscriptions
  • multi_month int64 - Multi-month duration in months reported by Twitch
  • number int64 - Number of gifted subscriptions
  • origin_id string - ID unique to the gift event
  • plan string - Subscription plan
  • total_gifted int64 - Total number of subscriptions gifted by the user
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

sus_user_message#

A suspicious (monitored / restricted) user sent a message in the given channel

Fields:

  • ban_evasion string - Ban-evasion evaluation
  • channel string - Channel the event occurred in
  • message string - Message text
  • shared_ban_channels []string - IDs of shared-ban channels
  • status string - Restriction status
  • user_id string - ID of the suspicious user
  • user_type []string - Suspicious-user types
  • username string - Login name of the suspicious user

sus_user_update#

The status of suspicious user was changed by a moderator

Fields:

  • channel string - Channel the event occurred in
  • moderator string - Login name of the acting moderator
  • status string - Restriction status
  • user_id string - ID of the suspicious user
  • username string - Login name of the suspicious user

timeout#

Moderator action caused a user to be timed out from chat.

Note: This event does not contain the acting user! You cannot use the {{.user}} variable.

Fields:

  • channel string - Channel the event occurred in
  • duration time.Duration - Timeout duration in nanoseconds
  • seconds int - Timeout duration in seconds
  • target_id string - ID of the user being timed out
  • target_name string - Login name of the user being timed out

title_update#

The current title for the channel was changed. (This event has some delay to the real category change!)

Fields:

  • channel string - Channel the event occurred in
  • title string - New stream title

vip_add#

A user was added as a VIP to the channel. (Only available when EventSub support is available and the streamer granted the required permission!)

Fields:

  • channel string - Channel the event occurred in
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

vip_remove#

A user was removed as a VIP from the channel. (Only available when EventSub support is available and the streamer granted the required permission!)

Fields:

  • channel string - Channel the event occurred in
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

watch_streak#

The user shared a watch-streak milestone.

Fields:

  • channel string - Channel the event occurred in
  • message string - Message shared with the milestone
  • streak int64 - Watch-streak value
  • user string - Login name of the user associated with the event
  • user_id string (optional) - ID of the user associated with the event

whisper#

The bot received a whisper message. (You can use (.*) as message match and {{ group 1 }} as template to get the content of the whisper.)

This event has no event fields.