Skip to main content

Events

FunctionReturns
onChannelAdBreakBeginvoid
onChannelBanvoid
onChannelCharityCampaignProgressvoid
onChannelCharityCampaignStartvoid
onChannelCharityCampaignStopvoid
onChannelCharityDonationvoid
onChannelChatClearvoid
onChannelChatClearUserMessagesvoid
onChannelChatMessagevoid
onChannelChatMessageDeletevoid
onChannelChatNotificationvoid
onChannelChatSettingsUpdatevoid
onChannelCheervoid
onChannelFollowvoid
onChannelGoalBeginvoid
onChannelGoalEndvoid
onChannelGoalProgressvoid
onChannelHypeTrainBeginvoid
onChannelHypeTrainEndvoid
onChannelHypeTrainProgressvoid
onChannelModeratorAddvoid
onChannelModeratorRemovevoid
onChannelPollBeginvoid
onChannelPollEndvoid
onChannelPollProgressvoid
onChannelPredictionBeginvoid
onChannelPredictionEndvoid
onChannelPredictionLockvoid
onChannelPredictionProgressvoid
onChannelRaidFromvoid
onChannelRaidTovoid
onChannelRedemptionAddvoid
onChannelRedemptionAddForRewardvoid
onChannelRedemptionUpdatevoid
onChannelRedemptionUpdateForRewardvoid
onChannelRewardAddvoid
onChannelRewardRemovevoid
onChannelRewardRemoveForRewardvoid
onChannelRewardUpdatevoid
onChannelRewardUpdateForRewardvoid
onChannelShieldModeBeginvoid
onChannelShieldModeEndvoid
onChannelShoutoutCreatevoid
onChannelShoutoutReceivevoid
onChannelSubscriptionvoid
onChannelSubscriptionEndvoid
onChannelSubscriptionGiftvoid
onChannelSubscriptionMessagevoid
onChannelUnbanvoid
onChannelUpdatevoid
onDropEntitlementGrantvoid
onExtensionBitsTransactionCreatevoid
onStreamOfflinevoid
onStreamOnlinevoid
onUserAuthorizationGrantvoid
onUserAuthorizationRevokevoid
onUserUpdatevoid
onAutoModMessageHoldvoid
onAutoModMessageHoldV2void
onAutoModMessageUpdatevoid
onAutoModMessageUpdateV2void
onAutoModSettingsUpdatevoid
onAutoModTermsUpdatevoid
onChannelAutomaticRewardRedemptionAddvoid
onChannelAutomaticRewardRedemptionAddV2void
onChannelBitsUsevoid
onChannelChatUserMessageHoldvoid
onChannelChatUserMessageUpdatevoid
onChannelHypeTrainBeginV2void
onChannelHypeTrainEndV2void
onChannelHypeTrainProgressV2void
onChannelModeratevoid
onChannelPowerUpRedemptionAddvoid
onChannelPowerUpRedemptionAddForRewardvoid
onChannelSharedChatSessionBeginvoid
onChannelSharedChatSessionEndvoid
onChannelSharedChatSessionUpdatevoid
onChannelSuspiciousUserMessagevoid
onChannelSuspiciousUserUpdatevoid
onChannelUnbanRequestCreatevoid
onChannelUnbanRequestResolvevoid
onChannelVipAddvoid
onChannelVipRemovevoid
onChannelWarningAcknowledgevoid
onChannelWarningSendvoid
onUserWhisperMessagevoid

Functions​

onChannelAdBreakBegin​

twitch.event.onChannelAdBreakBegin(callback: (event: ChannelAdBreakBeginEvent) => void): void

onChannelBan​

twitch.event.onChannelBan(callback: (event: ChannelBanEvent) => void): void

onChannelCharityCampaignProgress​

twitch.event.onChannelCharityCampaignProgress(callback: (event: ChannelCharityCampaignProgressEvent) => void): void

onChannelCharityCampaignStart​

twitch.event.onChannelCharityCampaignStart(callback: (event: ChannelCharityCampaignStartEvent) => void): void

onChannelCharityCampaignStop​

twitch.event.onChannelCharityCampaignStop(callback: (event: ChannelCharityCampaignStopEvent) => void): void

onChannelCharityDonation​

twitch.event.onChannelCharityDonation(callback: (event: ChannelCharityDonationEvent) => void): void

onChannelChatClear​

twitch.event.onChannelChatClear(callback: (event: ChannelChatClearEvent) => void): void

onChannelChatClearUserMessages​

twitch.event.onChannelChatClearUserMessages(callback: (event: ChannelChatClearUserMessagesEvent) => void): void

onChannelChatMessage​

twitch.event.onChannelChatMessage(callback: (event: ChannelChatMessageEvent) => void): void

onChannelChatMessageDelete​

twitch.event.onChannelChatMessageDelete(callback: (event: ChannelChatMessageDeleteEvent) => void): void

onChannelChatNotification​

twitch.event.onChannelChatNotification(callback: (event: ChannelChatSubNotificationEvent | ChannelChatResubNotificationEvent | ChannelChatSubGiftNotificationEvent | ChannelChatCommunitySubGiftNotificationEvent | ChannelChatGiftPaidUpgradeNotificationEvent | ChannelChatPrimePaidUpgradeNotificationEvent | ChannelChatRaidNotificationEvent | ChannelChatUnraidNotificationEvent | ChannelChatPayItForwardNotificationEvent | ChannelChatAnnouncementNotificationEvent | ChannelChatCharityDonationNotificationEvent | ChannelChatBitsBadgeTierNotificationEvent | ChannelChatWatchStreakNotificationEvent | ChannelChatSharedChatSubNotificationEvent | ChannelChatSharedChatResubNotificationEvent | ChannelChatSharedChatSubGiftNotificationEvent | ChannelChatSharedChatCommunitySubGiftNotificationEvent | ChannelChatSharedChatGiftPaidUpgradeNotificationEvent | ChannelChatSharedChatPrimePaidUpgradeNotificationEvent | ChannelChatSharedChatPayItForwardNotificationEvent | ChannelChatSharedChatRaidNotificationEvent | ChannelChatSharedChatAnnouncementNotificationEvent) => void): void

onChannelChatSettingsUpdate​

twitch.event.onChannelChatSettingsUpdate(callback: (event: ChannelChatSettingsUpdateEvent) => void): void

onChannelCheer​

twitch.event.onChannelCheer(callback: (event: ChannelCheerEvent) => void): void

onChannelFollow​

twitch.event.onChannelFollow(callback: (event: ChannelFollowEvent) => void): void

onChannelGoalBegin​

twitch.event.onChannelGoalBegin(callback: (event: ChannelGoalBeginEvent) => void): void

onChannelGoalEnd​

twitch.event.onChannelGoalEnd(callback: (event: ChannelGoalEndEvent) => void): void

onChannelGoalProgress​

twitch.event.onChannelGoalProgress(callback: (event: ChannelGoalProgressEvent) => void): void

onChannelHypeTrainBegin​

twitch.event.onChannelHypeTrainBegin(callback: (event: ChannelHypeTrainBeginEvent) => void): void

onChannelHypeTrainEnd​

twitch.event.onChannelHypeTrainEnd(callback: (event: ChannelHypeTrainEndEvent) => void): void

onChannelHypeTrainProgress​

twitch.event.onChannelHypeTrainProgress(callback: (event: ChannelHypeTrainProgressEvent) => void): void

onChannelModeratorAdd​

twitch.event.onChannelModeratorAdd(callback: (event: ChannelModeratorEvent) => void): void

onChannelModeratorRemove​

twitch.event.onChannelModeratorRemove(callback: (event: ChannelModeratorEvent) => void): void

onChannelPollBegin​

twitch.event.onChannelPollBegin(callback: (event: ChannelPollBeginEvent) => void): void

onChannelPollEnd​

twitch.event.onChannelPollEnd(callback: (event: ChannelPollEndEvent) => void): void

onChannelPollProgress​

twitch.event.onChannelPollProgress(callback: (event: ChannelPollProgressEvent) => void): void

onChannelPredictionBegin​

twitch.event.onChannelPredictionBegin(callback: (event: ChannelPredictionBeginEvent) => void): void

onChannelPredictionEnd​

twitch.event.onChannelPredictionEnd(callback: (event: ChannelPredictionEndEvent) => void): void

onChannelPredictionLock​

twitch.event.onChannelPredictionLock(callback: (event: ChannelPredictionLockEvent) => void): void

onChannelPredictionProgress​

twitch.event.onChannelPredictionProgress(callback: (event: ChannelPredictionProgressEvent) => void): void

onChannelRaidFrom​

twitch.event.onChannelRaidFrom(callback: (event: ChannelRaidEvent) => void): void

onChannelRaidTo​

twitch.event.onChannelRaidTo(callback: (event: ChannelRaidEvent) => void): void

onChannelRedemptionAdd​

twitch.event.onChannelRedemptionAdd(callback: (event: ChannelRedemptionAddEvent) => void): void

onChannelRedemptionAddForReward​

twitch.event.onChannelRedemptionAddForReward(rewardId: string, callback: (event: ChannelRedemptionAddEvent) => void): void

onChannelRedemptionUpdate​

twitch.event.onChannelRedemptionUpdate(callback: (event: ChannelRedemptionUpdateEvent) => void): void

onChannelRedemptionUpdateForReward​

twitch.event.onChannelRedemptionUpdateForReward(rewardId: string, callback: (event: ChannelRedemptionUpdateEvent) => void): void

onChannelRewardAdd​

twitch.event.onChannelRewardAdd(callback: (event: ChannelRewardEvent) => void): void

onChannelRewardRemove​

twitch.event.onChannelRewardRemove(callback: (event: ChannelRewardEvent) => void): void

onChannelRewardRemoveForReward​

twitch.event.onChannelRewardRemoveForReward(rewardId: string, callback: (event: ChannelRewardEvent) => void): void

onChannelRewardUpdate​

twitch.event.onChannelRewardUpdate(callback: (event: ChannelRewardEvent) => void): void

onChannelRewardUpdateForReward​

twitch.event.onChannelRewardUpdateForReward(rewardId: string, callback: (event: ChannelRewardEvent) => void): void

onChannelShieldModeBegin​

twitch.event.onChannelShieldModeBegin(callback: (event: ChannelShieldModeBeginEvent) => void): void

onChannelShieldModeEnd​

twitch.event.onChannelShieldModeEnd(callback: (event: ChannelShieldModeEndEvent) => void): void

onChannelShoutoutCreate​

twitch.event.onChannelShoutoutCreate(callback: (event: ChannelShoutoutCreateEvent) => void): void

onChannelShoutoutReceive​

twitch.event.onChannelShoutoutReceive(callback: (event: ChannelShoutoutReceiveEvent) => void): void

onChannelSubscription​

twitch.event.onChannelSubscription(callback: (event: ChannelSubscriptionEvent) => void): void

onChannelSubscriptionEnd​

twitch.event.onChannelSubscriptionEnd(callback: (event: ChannelSubscriptionEndEvent) => void): void

onChannelSubscriptionGift​

twitch.event.onChannelSubscriptionGift(callback: (event: ChannelSubscriptionGiftEvent) => void): void

onChannelSubscriptionMessage​

twitch.event.onChannelSubscriptionMessage(callback: (event: ChannelSubscriptionMessageEvent) => void): void

onChannelUnban​

twitch.event.onChannelUnban(callback: (event: ChannelUnbanEvent) => void): void

onChannelUpdate​

twitch.event.onChannelUpdate(callback: (event: ChannelUpdateEvent) => void): void

onDropEntitlementGrant​

twitch.event.onDropEntitlementGrant(callback: (event: any) => void): void

onExtensionBitsTransactionCreate​

twitch.event.onExtensionBitsTransactionCreate(callback: (event: ExtensionBitsTransactionCreateEvent) => void): void

onStreamOffline​

twitch.event.onStreamOffline(callback: (event: StreamOfflineEvent) => void): void

onStreamOnline​

twitch.event.onStreamOnline(callback: (event: StreamOnlineEvent) => void): void

onUserAuthorizationGrant​

twitch.event.onUserAuthorizationGrant(callback: (event: UserAuthorizationGrantEvent) => void): void

onUserAuthorizationRevoke​

twitch.event.onUserAuthorizationRevoke(callback: (event: UserAuthorizationRevokeEvent) => void): void

onUserUpdate​

twitch.event.onUserUpdate(callback: (event: UserUpdateEvent) => void): void

onAutoModMessageHold​

twitch.event.onAutoModMessageHold(callback: (event: AutoModMessageHoldEvent) => void): void

onAutoModMessageHoldV2​

twitch.event.onAutoModMessageHoldV2(callback: (event: AutoModMessageHoldV2Event) => void): void

onAutoModMessageUpdate​

twitch.event.onAutoModMessageUpdate(callback: (event: AutoModMessageUpdateEvent) => void): void

onAutoModMessageUpdateV2​

twitch.event.onAutoModMessageUpdateV2(callback: (event: AutoModMessageUpdateV2Event) => void): void

onAutoModSettingsUpdate​

twitch.event.onAutoModSettingsUpdate(callback: (event: AutoModSettingsUpdateEvent) => void): void

onAutoModTermsUpdate​

twitch.event.onAutoModTermsUpdate(callback: (event: AutoModTermsUpdateEvent) => void): void

onChannelAutomaticRewardRedemptionAdd​

twitch.event.onChannelAutomaticRewardRedemptionAdd(callback: (event: ChannelAutomaticRewardRedemptionAddEvent) => void): void

onChannelAutomaticRewardRedemptionAddV2​

twitch.event.onChannelAutomaticRewardRedemptionAddV2(callback: (event: ChannelAutomaticRewardRedemptionAddV2Event) => void): void

onChannelBitsUse​

twitch.event.onChannelBitsUse(callback: (event: ChannelBitsUseEvent) => void): void

onChannelChatUserMessageHold​

twitch.event.onChannelChatUserMessageHold(callback: (event: ChannelChatUserMessageHoldEvent) => void): void

onChannelChatUserMessageUpdate​

twitch.event.onChannelChatUserMessageUpdate(callback: (event: ChannelChatUserMessageUpdateEvent) => void): void

onChannelHypeTrainBeginV2​

twitch.event.onChannelHypeTrainBeginV2(callback: (event: ChannelHypeTrainBeginV2Event) => void): void

onChannelHypeTrainEndV2​

twitch.event.onChannelHypeTrainEndV2(callback: (event: ChannelHypeTrainEndV2Event) => void): void

onChannelHypeTrainProgressV2​

twitch.event.onChannelHypeTrainProgressV2(callback: (event: ChannelHypeTrainProgressV2Event) => void): void

onChannelModerate​

twitch.event.onChannelModerate(callback: (event: ChannelAutoModTermsModerationEvent | ChannelBanModerationEvent | ChannelBaseModerationEvent | ChannelDeleteModerationEvent | ChannelFollowersModerationEvent | ChannelModModerationEvent | ChannelRaidModerationEvent | ChannelSlowModerationEvent | ChannelTimeoutModerationEvent | ChannelUnbanModerationEvent | ChannelUnbanRequestModerationEvent | ChannelUnmodModerationEvent | ChannelUnraidModerationEvent | ChannelUntimeoutModerationEvent | ChannelUnvipModerationEvent | ChannelVipModerationEvent | ChannelWarnModerationEvent | ChannelSharedChatBanModerationEvent | ChannelSharedChatUnbanModerationEvent | ChannelSharedChatTimeoutModerationEvent | ChannelSharedChatUntimeoutModerationEvent | ChannelSharedChatDeleteModerationEvent) => void): void

onChannelPowerUpRedemptionAdd​

twitch.event.onChannelPowerUpRedemptionAdd(callback: (event: ChannelCustomPowerUpAddEvent) => void): void

onChannelPowerUpRedemptionAddForReward​

twitch.event.onChannelPowerUpRedemptionAddForReward(rewardId: string, callback: (event: ChannelCustomPowerUpAddEvent) => void): void

onChannelSharedChatSessionBegin​

twitch.event.onChannelSharedChatSessionBegin(callback: (event: ChannelSharedChatSessionBeginEvent) => void): void

onChannelSharedChatSessionEnd​

twitch.event.onChannelSharedChatSessionEnd(callback: (event: ChannelSharedChatSessionEndEvent) => void): void

onChannelSharedChatSessionUpdate​

twitch.event.onChannelSharedChatSessionUpdate(callback: (event: ChannelSharedChatSessionUpdateEvent) => void): void

onChannelSuspiciousUserMessage​

twitch.event.onChannelSuspiciousUserMessage(callback: (event: ChannelSuspiciousUserMessageEvent) => void): void

onChannelSuspiciousUserUpdate​

twitch.event.onChannelSuspiciousUserUpdate(callback: (event: ChannelSuspiciousUserUpdateEvent) => void): void

onChannelUnbanRequestCreate​

twitch.event.onChannelUnbanRequestCreate(callback: (event: ChannelUnbanRequestCreateEvent) => void): void

onChannelUnbanRequestResolve​

twitch.event.onChannelUnbanRequestResolve(callback: (event: ChannelUnbanRequestResolveEvent) => void): void

onChannelVipAdd​

twitch.event.onChannelVipAdd(callback: (event: ChannelVipEvent) => void): void

onChannelVipRemove​

twitch.event.onChannelVipRemove(callback: (event: ChannelVipEvent) => void): void

onChannelWarningAcknowledge​

twitch.event.onChannelWarningAcknowledge(callback: (event: ChannelWarningAcknowledgeEvent) => void): void

onChannelWarningSend​

twitch.event.onChannelWarningSend(callback: (event: ChannelWarningSendEvent) => void): void

onUserWhisperMessage​

twitch.event.onUserWhisperMessage(callback: (event: UserWhisperMessageEvent) => void): void

Types​

AutoModLevel​

type AutoModLevel = 0 | 1 | 2 | 3 | 4

AutoModMessageAutoModBoundaryRaw​

type AutoModMessageAutoModBoundaryRaw = {
start_pos: number
end_pos: number
}

AutoModMessageAutoModRaw​

type AutoModMessageAutoModRaw = {
category: string
level: AutoModLevel
boundaries: Array<AutoModMessageAutoModBoundaryRaw>
}

AutoModMessageBlockedTermRaw​

type AutoModMessageBlockedTermRaw = {
terms_found: Array<AutoModMessageFoundBlockedTermRaw>
}

AutoModMessageFoundBlockedTermRaw​

type AutoModMessageFoundBlockedTermRaw = {
term_id: string
owner_broadcaster_user_id: string
owner_broadcaster_user_login: string
owner_broadcaster_user_name: string
boundary: AutoModMessageAutoModBoundaryRaw
}

AutoModMessageHoldEvent​

type AutoModMessageHoldEvent = {
broadcasterUserId: string
broadcasterUserName: string
broadcasterUserLogin: string
userId: string
userName: string
userLogin: string
messageId: string
message: AutoModMessageRaw
level: AutoModLevel
category: string
heldAt: string
}

AutoModMessageHoldReason​

type AutoModMessageHoldReason = "automod" | "blocked_term"

AutoModMessageHoldV2Event​

type AutoModMessageHoldV2Event = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
userId: string
userLogin: string
userName: string
messageId: string
message: AutoModMessageRaw
reason: AutoModMessageHoldReason
automod: AutoModMessageAutoModRaw | null
blockedTerm: AutoModMessageBlockedTermRaw | null
heldAt: string
}

AutoModMessageRaw​

type AutoModMessageRaw = {
text: string
fragments: Array<ChatMessageTextPartRaw | ChatMessageCheermotePartRaw | ChatMessageEmotePartRaw>
}

AutoModMessageUpdateEvent​

type AutoModMessageUpdateEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
userId: string
userLogin: string
userName: string
messageId: string
message: AutoModMessageRaw
level: AutoModLevel
category: string
status: AutoModResolutionStatus
heldAt: string
}

AutoModMessageUpdateV2Event​

type AutoModMessageUpdateV2Event = {
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
status: AutoModResolutionStatus
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
userId: string
userLogin: string
userName: string
messageId: string
message: AutoModMessageRaw
reason: AutoModMessageHoldReason
automod: AutoModMessageAutoModRaw | null
blockedTerm: AutoModMessageBlockedTermRaw | null
heldAt: string
}

AutoModResolutionStatus​

type AutoModResolutionStatus = "approved" | "denied" | "expired"

AutoModSettingsUpdateEvent​

type AutoModSettingsUpdateEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
overallLevel: 0 | 1 | 2 | 3 | 4 | null
disability: AutoModLevel
aggression: AutoModLevel
sexualitySexOrGender: AutoModLevel
misogyny: AutoModLevel
bullying: AutoModLevel
swearing: AutoModLevel
raceEthnicityOrReligion: AutoModLevel
sexBasedTerms: AutoModLevel
}

AutoModTermsUpdateAction​

type AutoModTermsUpdateAction = "add_permitted" | "remove_permitted" | "add_blocked" | "remove_blocked"

AutoModTermsUpdateEvent​

type AutoModTermsUpdateEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
action: AutoModTermsUpdateAction
fromAutomod: boolean
terms: Array<string>
}

AutomaticRewardRedemptionMessageEmoteRaw​

type AutomaticRewardRedemptionMessageEmoteRaw = {
id: string
begin: number
end: number
}

AutomaticRewardRedemptionMessageRaw​

type AutomaticRewardRedemptionMessageRaw = {
text: string
emotes: Array<AutomaticRewardRedemptionMessageEmoteRaw>
}

AutomaticRewardRedemptionRewardRaw​

type AutomaticRewardRedemptionRewardRaw = {
type: AutomaticRewardType
cost: number
unlocked_emote: null
}

AutomaticRewardType​

type AutomaticRewardType = "single_message_bypass_sub_mode" | "send_highlighted_message" | "random_sub_emote_unlock" | "chosen_sub_emote_unlock" | "chosen_modified_sub_emote_unlock" | "message_effect" | "gigantify_an_emote" | "celebration"

ChannelAdBreakBeginEvent​

type ChannelAdBreakBeginEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
requesterUserId: string
requesterUserLogin: string
requesterUserName: string
startedAt: string
durationSeconds: number
isAutomatic: boolean
}

ChannelAutoModTermsModerationEvent​

type ChannelAutoModTermsModerationEvent = {
action: "add_blocked_term" | "add_permitted_term" | "remove_blocked_term" | "remove_permitted_term"
automodTerms: ChannelAutoModTermsModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelAutoModTermsModerationEventPayloadRaw​

type ChannelAutoModTermsModerationEventPayloadRaw = {
action: ChannelAutomodTermsModerationEventAction
list: ChannelAutomodTermsModerationEventList
terms: Array<string>
from_automod: boolean
}

ChannelAutomaticRewardEmoteRaw​

type ChannelAutomaticRewardEmoteRaw = {
id: string
name: string
}

ChannelAutomaticRewardRaw​

type ChannelAutomaticRewardRaw = {
type: ChannelAutomaticRewardType
channel_points: number
emote: ChannelAutomaticRewardEmoteRaw | null
}

ChannelAutomaticRewardRedemptionAddEvent​

type ChannelAutomaticRewardRedemptionAddEvent = {
broadcasterUserId: string
broadcasterUserName: string
broadcasterUserLogin: string
userId: string
userName: string
userLogin: string
id: string
reward: AutomaticRewardRedemptionRewardRaw
message: AutomaticRewardRedemptionMessageRaw | null
userInput: string
redeemedAt: string
}

ChannelAutomaticRewardRedemptionAddV2Event​

type ChannelAutomaticRewardRedemptionAddV2Event = {
broadcasterUserId: string
broadcasterUserName: string
broadcasterUserLogin: string
userId: string
userName: string
userLogin: string
id: string
reward: ChannelAutomaticRewardRaw
message: ChatAutomaticRewardRedemptionMessageRaw | null
redeemedAt: string
}

ChannelAutomaticRewardType​

type ChannelAutomaticRewardType = "single_message_bypass_sub_mode" | "send_highlighted_message" | "random_sub_emote_unlock" | "chosen_sub_emote_unlock" | "chosen_modified_sub_emote_unlock"

ChannelAutomodTermsModerationEventAction​

type ChannelAutomodTermsModerationEventAction = "add" | "remove"

ChannelAutomodTermsModerationEventList​

type ChannelAutomodTermsModerationEventList = "blocked" | "permitted"

ChannelBanEvasionEvaluation​

type ChannelBanEvasionEvaluation = "unknown" | "possible" | "likely"

ChannelBanEvent​

type ChannelBanEvent = {
userId: string
userLogin: string
userName: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
reason: string
bannedAt: string
endsAt: string | null
isPermanent: boolean
}

ChannelBanModerationEvent​

type ChannelBanModerationEvent = {
action: "ban"
ban: ChannelBanModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelBanModerationEventPayloadRaw​

type ChannelBanModerationEventPayloadRaw = {
reason: string
user_id: string
user_login: string
user_name: string
}

ChannelBaseModerationEvent​

type ChannelBaseModerationEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
action: ChannelModerationAction
}

ChannelBitsUseEvent​

type ChannelBitsUseEvent = {
userId: string
userLogin: string
userName: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
bits: number
type: ChannelBitsUseType
powerUp: ChannelBitsUsePowerUpRaw | null
message: ChannelBitsUseMessageRaw | null
}

ChannelBitsUseMessageRaw​

type ChannelBitsUseMessageRaw = {
text: string
fragments: Array<ChatMessageTextPartRaw | ChatMessageCheermotePartRaw | ChatMessageEmotePartRaw>
}

ChannelBitsUsePowerUpEmoteRaw​

type ChannelBitsUsePowerUpEmoteRaw = {
id: string
name: string
}

ChannelBitsUsePowerUpRaw​

type ChannelBitsUsePowerUpRaw = {
type: ChannelBitsUsePowerUpType
emote: ChannelBitsUsePowerUpEmoteRaw | null
message_effect_id: string | null
}

ChannelBitsUsePowerUpType​

type ChannelBitsUsePowerUpType = "message_effect" | "gigantify_an_emote" | "celebration"

ChannelBitsUseType​

type ChannelBitsUseType = "cheer" | "power_up" | "combo"

ChannelCharityAmountRaw​

type ChannelCharityAmountRaw = {
value: number
decimal_places: number
currency: string
}

ChannelCharityCampaignProgressEvent​

type ChannelCharityCampaignProgressEvent = {
id: string
broadcasterId: string
broadcasterLogin: string
broadcasterName: string
charityName: string
charityDescription: string
charityLogo: string
charityWebsite: string
currentAmount: ChannelCharityAmountRaw
targetAmount: ChannelCharityAmountRaw
}

ChannelCharityCampaignStartEvent​

type ChannelCharityCampaignStartEvent = {
id: string
broadcasterId: string
broadcasterLogin: string
broadcasterName: string
charityName: string
charityDescription: string
charityLogo: string
charityWebsite: string
currentAmount: ChannelCharityAmountRaw
targetAmount: ChannelCharityAmountRaw
startedAt: string
}

ChannelCharityCampaignStopEvent​

type ChannelCharityCampaignStopEvent = {
id: string
broadcasterId: string
broadcasterLogin: string
broadcasterName: string
charityName: string
charityDescription: string
charityLogo: string
charityWebsite: string
currentAmount: ChannelCharityAmountRaw
targetAmount: ChannelCharityAmountRaw
stoppedAt: string
}

ChannelCharityDonationEvent​

type ChannelCharityDonationEvent = {
campaignId: string
broadcasterId: string
broadcasterLogin: string
broadcasterName: string
userId: string
userLogin: string
userName: string
charityName: string
charityDescription: string
charityLogo: string
charityWebsite: string
amount: ChannelCharityAmountRaw
}

ChannelChatAnnouncementColor​

type ChannelChatAnnouncementColor = "blue" | "green" | "orange" | "purple" | "primary"

ChannelChatAnnouncementNotificationEvent​

type ChannelChatAnnouncementNotificationEvent = {
noticeType: "announcement"
announcement: ChannelChatAnnouncementNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatAnnouncementNotificationPayloadRaw​

type ChannelChatAnnouncementNotificationPayloadRaw = {
color: ChannelChatAnnouncementColor
}

ChannelChatBitsBadgeTierNotificationEvent​

type ChannelChatBitsBadgeTierNotificationEvent = {
noticeType: "bits_badge_tier"
bitsBadgeTier: ChannelChatBitsBadgeTierNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatBitsBadgeTierNotificationPayloadRaw​

type ChannelChatBitsBadgeTierNotificationPayloadRaw = {
tier: number
}

ChannelChatCharityDonationNotificationEvent​

type ChannelChatCharityDonationNotificationEvent = {
noticeType: "charity_donation"
charityDonation: ChannelChatCharityDonationNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatCharityDonationNotificationPayloadRaw​

type ChannelChatCharityDonationNotificationPayloadRaw = {
charity_name: string
amount: ChannelCharityAmountRaw
}

ChannelChatClearEvent​

type ChannelChatClearEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
}

ChannelChatClearUserMessagesEvent​

type ChannelChatClearUserMessagesEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
targetUserId: string
targetUserLogin: string
targetUserName: string
}

ChannelChatCommunitySubGiftNotificationEvent​

type ChannelChatCommunitySubGiftNotificationEvent = {
noticeType: "community_sub_gift"
communitySubGift: ChannelChatCommunitySubGiftNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatCommunitySubGiftNotificationPayloadRaw​

type ChannelChatCommunitySubGiftNotificationPayloadRaw = {
id: string
total: number
sub_tier: ChannelChatNotificationSubTier
cumulative_total: number | null
}

ChannelChatGiftPaidUpgradeNotificationEvent​

type ChannelChatGiftPaidUpgradeNotificationEvent = {
noticeType: "gift_paid_upgrade"
giftPaidUpgrade: ChannelChatNotificationOriginalGifterRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatMessageDeleteEvent​

type ChannelChatMessageDeleteEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
targetUserId: string
targetUserLogin: string
targetUserName: string
messageId: string
}

ChannelChatMessageEvent​

type ChannelChatMessageEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
messageId: string
message: ChatMessageRaw
messageType: ChatMessageType
badges: Array<ChatBadgeRaw>
cheer: ChatMessageCheerRaw | null
color: string
reply: ChatMessageReplyRaw | null
channelPointsCustomRewardId: string | null
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
isSourceOnly: boolean | null
}

ChannelChatNotificationOriginalGifterRaw​

type ChannelChatNotificationOriginalGifterRaw = {
gifter_is_anonymous: boolean
gifter_user_id: string | null
gifter_user_name: string | null
gifter_user_login: string | null
}

ChannelChatNotificationSubTier​

type ChannelChatNotificationSubTier = "1000" | "2000" | "3000"

ChannelChatPayItForwardNotificationEvent​

type ChannelChatPayItForwardNotificationEvent = {
noticeType: "pay_it_forward"
payItForward: ChannelChatNotificationOriginalGifterRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatPrimePaidUpgradeNotificationEvent​

type ChannelChatPrimePaidUpgradeNotificationEvent = {
noticeType: "prime_paid_upgrade"
primePaidUpgrade: ChannelChatPrimePaidUpgradeNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatPrimePaidUpgradeNotificationPayloadRaw​

type ChannelChatPrimePaidUpgradeNotificationPayloadRaw = {
sub_tier: ChannelChatNotificationSubTier
}

ChannelChatRaidNotificationEvent​

type ChannelChatRaidNotificationEvent = {
noticeType: "raid"
raid: ChannelChatRaidNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatRaidNotificationPayloadRaw​

type ChannelChatRaidNotificationPayloadRaw = {
user_id: string
user_name: string
user_login: string
viewer_count: number
profile_image_url: string
}

ChannelChatResubNotificationEvent​

type ChannelChatResubNotificationEvent = {
noticeType: "resub"
resub: ChannelChatResubNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatResubNotificationPayloadRaw​

type ChannelChatResubNotificationPayloadRaw = {
sub_tier: ChannelChatNotificationSubTier
is_prime: boolean
cumulative_months: number
duration_months: number
streak_months: number | null
is_gift: boolean
gifter_is_anonymous: boolean | null
gifter_user_id: string | null
gifter_user_login: string | null
gifter_user_name: string | null
}

ChannelChatSettingsUpdateEvent​

type ChannelChatSettingsUpdateEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
emoteMode: boolean
followerMode: boolean
followerModeDurationMinutes: number | null
slowMode: boolean
slowModeWaitTimeSeconds: number | null
subscriberMode: boolean
uniqueChatMode: boolean
}

ChannelChatSharedChatAnnouncementNotificationEvent​

type ChannelChatSharedChatAnnouncementNotificationEvent = {
noticeType: "shared_chat_announcement"
sharedChatAnnouncement: ChannelChatAnnouncementNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSharedChatCommunitySubGiftNotificationEvent​

type ChannelChatSharedChatCommunitySubGiftNotificationEvent = {
noticeType: "shared_chat_community_sub_gift"
sharedChatCommunitySubGift: ChannelChatCommunitySubGiftNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSharedChatGiftPaidUpgradeNotificationEvent​

type ChannelChatSharedChatGiftPaidUpgradeNotificationEvent = {
noticeType: "shared_chat_gift_paid_upgrade"
sharedChatGiftPaidUpgrade: ChannelChatNotificationOriginalGifterRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSharedChatPayItForwardNotificationEvent​

type ChannelChatSharedChatPayItForwardNotificationEvent = {
noticeType: "shared_chat_pay_it_forward"
sharedChatPayItForward: ChannelChatNotificationOriginalGifterRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSharedChatPrimePaidUpgradeNotificationEvent​

type ChannelChatSharedChatPrimePaidUpgradeNotificationEvent = {
noticeType: "shared_chat_prime_paid_upgrade"
sharedChatPrimePaidUpgrade: ChannelChatPrimePaidUpgradeNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSharedChatRaidNotificationEvent​

type ChannelChatSharedChatRaidNotificationEvent = {
noticeType: "shared_chat_raid"
sharedChatRaid: ChannelChatRaidNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSharedChatResubNotificationEvent​

type ChannelChatSharedChatResubNotificationEvent = {
noticeType: "shared_chat_resub"
sharedChatResub: ChannelChatResubNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSharedChatSubGiftNotificationEvent​

type ChannelChatSharedChatSubGiftNotificationEvent = {
noticeType: "shared_chat_sub_gift"
sharedChatSubGift: ChannelChatSubGiftNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSharedChatSubNotificationEvent​

type ChannelChatSharedChatSubNotificationEvent = {
noticeType: "shared_chat_sub"
sharedChatSub: ChannelChatSubNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSubGiftNotificationEvent​

type ChannelChatSubGiftNotificationEvent = {
noticeType: "sub_gift"
subGift: ChannelChatSubGiftNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSubGiftNotificationPayloadRaw​

type ChannelChatSubGiftNotificationPayloadRaw = {
duration_months: number
cumulative_total: number | null
recipient_user_id: string
recipient_user_login: string
recipient_user_name: string
sub_tier: ChannelChatNotificationSubTier
community_gift_id: string | null
}

ChannelChatSubNotificationEvent​

type ChannelChatSubNotificationEvent = {
noticeType: "sub"
sub: ChannelChatSubNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatSubNotificationPayloadRaw​

type ChannelChatSubNotificationPayloadRaw = {
sub_tier: ChannelChatNotificationSubTier
is_prime: boolean
duration_months: number
}

ChannelChatUnraidNotificationEvent​

type ChannelChatUnraidNotificationEvent = {
noticeType: "unraid"
unraid: {}
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatUserMessageHoldEvent​

type ChannelChatUserMessageHoldEvent = {
broadcasterUserId: string
broadcasterUserName: string
broadcasterUserLogin: string
userId: string
userName: string
userLogin: string
messageId: string
message: AutoModMessageRaw
}

ChannelChatUserMessageUpdateEvent​

type ChannelChatUserMessageUpdateEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
userId: string
userLogin: string
userName: string
messageId: string
message: AutoModMessageRaw
status: AutoModResolutionStatus
}

ChannelChatWatchStreakNotificationEvent​

type ChannelChatWatchStreakNotificationEvent = {
noticeType: "watch_streak"
watchStreak: ChannelChatWatchStreakNotificationPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
chatterUserId: string
chatterUserLogin: string
chatterUserName: string
chatterIsAnonymous: boolean
color: string
badges: Array<ChatBadgeRaw>
systemMessage: string
messageId: string
message: ChatMessageRaw
sourceBroadcasterUserId: string | null
sourceBroadcasterUserLogin: string | null
sourceBroadcasterUserName: string | null
sourceMessageId: string | null
sourceBadges: Array<ChatBadgeRaw> | null
}

ChannelChatWatchStreakNotificationPayloadRaw​

type ChannelChatWatchStreakNotificationPayloadRaw = {
streak_count: number
channel_points_awarded: number
}

ChannelCheerEvent​

type ChannelCheerEvent = {
isAnonymous: boolean
userId: string | null
userLogin: string | null
userName: string | null
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
message: string
bits: number
}

ChannelCustomPowerUpAddEvent​

type ChannelCustomPowerUpAddEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
userId: string
userLogin: string
userName: string
userInput: string
status: "canceled" | "unfulfilled" | "unknown" | "fulfilled"
customPowerUp: ChannelCustomPowerUpRaw
redeemedAt: string
}

ChannelCustomPowerUpRaw​

type ChannelCustomPowerUpRaw = {
id: string
title: string
bits: number
prompt: string
}

ChannelDeleteModerationEvent​

type ChannelDeleteModerationEvent = {
action: "delete"
delete: ChannelDeleteModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelDeleteModerationEventPayloadRaw​

type ChannelDeleteModerationEventPayloadRaw = {
message_id: string
message_body: string
user_id: string
user_login: string
user_name: string
}

ChannelFollowEvent​

type ChannelFollowEvent = {
userId: string
userLogin: string
userName: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
followedAt: string
}

ChannelFollowersModerationEvent​

type ChannelFollowersModerationEvent = {
action: "followers"
followers: ChannelFollowersModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelFollowersModerationEventPayloadRaw​

type ChannelFollowersModerationEventPayloadRaw = {
follow_duration_minutes: number
}

ChannelGoalBeginEvent​

type ChannelGoalBeginEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
type: ChannelGoalType
description: string
currentAmount: number
targetAmount: number
startedAt: string
}

ChannelGoalEndEvent​

type ChannelGoalEndEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
type: ChannelGoalType
description: string
isAchieved: boolean
currentAmount: number
targetAmount: number
startedAt: string
endedAt: string
}

ChannelGoalProgressEvent​

type ChannelGoalProgressEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
type: ChannelGoalType
description: string
currentAmount: number
targetAmount: number
startedAt: string
}

ChannelGoalType​

type ChannelGoalType = "follow" | "subscription" | "subscription_count" | "new_subscription" | "new_subscription_count"

ChannelHypeTrainBeginEvent​

type ChannelHypeTrainBeginEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
level: number
total: number
progress: number
goal: number
topContributions: Array<ChannelHypeTrainContributionRaw> | null
lastContribution: ChannelHypeTrainContributionRaw
startedAt: string
expiresAt: string
isGoldenKappaTrain: boolean
}

ChannelHypeTrainBeginV2Event​

type ChannelHypeTrainBeginV2Event = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
type: ChannelHypeTrainType
level: number
total: number
progress: number
goal: number
topContributions: Array<ChannelHypeTrainContributionRaw>
isSharedTrain: boolean
sharedTrainParticipants: Array<ChannelHypeTrainSharedParticipantRaw>
allTimeHighLevel: number
allTimeHighTotal: number
startedAt: string
expiresAt: string
}

ChannelHypeTrainContributionRaw​

type ChannelHypeTrainContributionRaw = {
user_id: string
user_login: string
user_name: string
type: ChannelHypeTrainContributionType
total: number
}

ChannelHypeTrainContributionType​

type ChannelHypeTrainContributionType = "subscription" | "bits" | "other"

ChannelHypeTrainEndEvent​

type ChannelHypeTrainEndEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
level: number
total: number
topContributions: Array<ChannelHypeTrainContributionRaw> | null
startedAt: string
endedAt: string
cooldownEndsAt: string
isGoldenKappaTrain: boolean
}

ChannelHypeTrainEndV2Event​

type ChannelHypeTrainEndV2Event = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
type: ChannelHypeTrainType
level: number
total: number
topContributions: Array<ChannelHypeTrainContributionRaw>
isSharedTrain: boolean
sharedTrainParticipants: Array<ChannelHypeTrainSharedParticipantRaw>
startedAt: string
endedAt: string
cooldownEndsAt: string
}

ChannelHypeTrainProgressEvent​

type ChannelHypeTrainProgressEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
level: number
total: number
progress: number
goal: number
topContributions: Array<ChannelHypeTrainContributionRaw> | null
lastContribution: ChannelHypeTrainContributionRaw
startedAt: string
expiresAt: string
isGoldenKappaTrain: boolean
}

ChannelHypeTrainProgressV2Event​

type ChannelHypeTrainProgressV2Event = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
type: ChannelHypeTrainType
level: number
total: number
progress: number
goal: number
topContributions: Array<ChannelHypeTrainContributionRaw>
isSharedTrain: boolean
sharedTrainParticipants: Array<ChannelHypeTrainSharedParticipantRaw>
startedAt: string
expiresAt: string
}

ChannelHypeTrainSharedParticipantRaw​

type ChannelHypeTrainSharedParticipantRaw = {
broadcaster_user_id: string
broadcaster_user_login: string
broadcaster_user_name: string
}

ChannelHypeTrainType​

type ChannelHypeTrainType = "regular" | "treasure" | "golden_kappa"

ChannelModModerationEvent​

type ChannelModModerationEvent = {
action: "mod"
mod: ChannelModerationEventUserPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelModerationAction​

type ChannelModerationAction = "raid" | "unraid" | "ban" | "timeout" | "unban" | "untimeout" | "clear" | "delete" | "emoteonly" | "emoteonlyoff" | "followers" | "followersoff" | "uniquechat" | "uniquechatoff" | "slow" | "slowoff" | "subscribers" | "subscribersoff" | "mod" | "unmod" | "vip" | "unvip" | "add_blocked_term" | "add_permitted_term" | "remove_blocked_term" | "remove_permitted_term" | "approve_unban_request" | "deny_unban_request" | "warn" | "shared_chat_ban" | "shared_chat_unban" | "shared_chat_timeout" | "shared_chat_untimeout" | "shared_chat_delete"

ChannelModerationEventUserPayloadRaw​

type ChannelModerationEventUserPayloadRaw = {
user_id: string
user_login: string
user_name: string
}

ChannelModeratorEvent​

type ChannelModeratorEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
userId: string
userLogin: string
userName: string
}

ChannelPollBeginChoiceRaw​

type ChannelPollBeginChoiceRaw = {
id: string
title: string
}

ChannelPollBeginEvent​

type ChannelPollBeginEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
title: string
choices: Array<ChannelPollBeginChoiceRaw>
bitsVoting: ChannelPollVoteTypeSettingsRaw
channelPointsVoting: ChannelPollVoteTypeSettingsRaw
startedAt: string
endsAt: string
}

ChannelPollChoiceRaw​

type ChannelPollChoiceRaw = {
bits_votes: number
channel_points_votes: number
votes: number
id: string
title: string
}

ChannelPollEndEvent​

type ChannelPollEndEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
title: string
choices: Array<ChannelPollChoiceRaw>
bitsVoting: ChannelPollVoteTypeSettingsRaw
channelPointsVoting: ChannelPollVoteTypeSettingsRaw
status: ChannelPollEndStatus
startedAt: string
endedAt: string
}

ChannelPollEndStatus​

type ChannelPollEndStatus = "completed" | "archived" | "terminated"

ChannelPollProgressEvent​

type ChannelPollProgressEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
title: string
choices: Array<ChannelPollChoiceRaw>
bitsVoting: ChannelPollVoteTypeSettingsRaw
channelPointsVoting: ChannelPollVoteTypeSettingsRaw
startedAt: string
endsAt: string
}

ChannelPollVoteTypeSettingsRaw​

type ChannelPollVoteTypeSettingsRaw = {
is_enabled: boolean
amount_per_vote: number
}

ChannelPredictionBeginEvent​

type ChannelPredictionBeginEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
title: string
outcomes: Array<ChannelPredictionBeginOutcomeRaw>
startedAt: string
locksAt: string
}

ChannelPredictionBeginOutcomeRaw​

type ChannelPredictionBeginOutcomeRaw = {
id: string
title: string
color: ChannelPredictionColor
}

ChannelPredictionColor​

type ChannelPredictionColor = "blue" | "pink"

ChannelPredictionEndEvent​

type ChannelPredictionEndEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
title: string
winningOutcomeId: string | null
outcomes: Array<ChannelPredictionOutcomeRaw>
status: ChannelPredictionEndStatus
startedAt: string
endedAt: string
}

ChannelPredictionEndStatus​

type ChannelPredictionEndStatus = "resolved" | "canceled"

ChannelPredictionLockEvent​

type ChannelPredictionLockEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
title: string
outcomes: Array<ChannelPredictionOutcomeRaw>
startedAt: string
lockedAt: string
}

ChannelPredictionOutcomeRaw​

type ChannelPredictionOutcomeRaw = {
users: number
channel_points: number
top_predictors: Array<ChannelPredictionPredictorRaw>
id: string
title: string
color: ChannelPredictionColor
}

ChannelPredictionPredictorRaw​

type ChannelPredictionPredictorRaw = {
user_name: string
user_login: string
user_id: string
channel_points_won: number | null
channel_points_used: number
}

ChannelPredictionProgressEvent​

type ChannelPredictionProgressEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
title: string
outcomes: Array<ChannelPredictionOutcomeRaw>
startedAt: string
locksAt: string
}

ChannelRaidEvent​

type ChannelRaidEvent = {
fromBroadcasterUserId: string
fromBroadcasterUserLogin: string
fromBroadcasterUserName: string
toBroadcasterUserId: string
toBroadcasterUserLogin: string
toBroadcasterUserName: string
viewers: number
}

ChannelRaidModerationEvent​

type ChannelRaidModerationEvent = {
action: "raid"
raid: ChannelRaidModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelRaidModerationEventPayloadRaw​

type ChannelRaidModerationEventPayloadRaw = {
viewer_count: number
user_id: string
user_login: string
user_name: string
}

ChannelRedemptionAddEvent​

type ChannelRedemptionAddEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
userId: string
userLogin: string
userName: string
userInput: string
status: "canceled" | "unfulfilled" | "unknown" | "fulfilled"
reward: ChannelRedemptionRewardRaw
redeemedAt: string
}

ChannelRedemptionRewardRaw​

type ChannelRedemptionRewardRaw = {
id: string
title: string
cost: number
prompt: string
}

ChannelRedemptionUpdateEvent​

type ChannelRedemptionUpdateEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
userId: string
userLogin: string
userName: string
userInput: string
status: "canceled" | "fulfilled"
reward: ChannelRedemptionRewardRaw
redeemedAt: string
}

ChannelRewardCooldownRaw​

type ChannelRewardCooldownRaw = {
is_enabled: boolean
seconds: number | null
}

ChannelRewardEvent​

type ChannelRewardEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
isEnabled: boolean
isPaused: boolean
isInStock: boolean
title: string
cost: number
prompt: string
isUserInputRequired: boolean
shouldRedemptionsSkipRequestQueue: boolean
cooldownExpiresAt: string | null
redemptionsRedeemedCurrentStream: number | null
maxPerStream: ChannelRewardMaxPerStreamRaw
maxPerUserPerStream: ChannelRewardMaxPerStreamRaw
globalCooldown: ChannelRewardCooldownRaw
backgroundColor: string
image: ChannelRewardImageRaw | null
defaultImage: ChannelRewardImageRaw
}

ChannelRewardImageRaw​

type ChannelRewardImageRaw = {
url_1x: string
url_2x: string
url_4x: string
}

ChannelRewardMaxPerStreamRaw​

type ChannelRewardMaxPerStreamRaw = {
is_enabled: boolean
value: number | null
}

ChannelSharedChatBanModerationEvent​

type ChannelSharedChatBanModerationEvent = {
action: "shared_chat_ban"
sharedChatBan: ChannelBanModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelSharedChatDeleteModerationEvent​

type ChannelSharedChatDeleteModerationEvent = {
action: "shared_chat_delete"
sharedChatDelete: ChannelDeleteModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelSharedChatSessionBeginEvent​

type ChannelSharedChatSessionBeginEvent = {
sessionId: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
hostBroadcasterUserId: string
hostBroadcasterUserLogin: string
hostBroadcasterUserName: string
participants: Array<ChannelSharedChatSessionParticipantRaw>
}

ChannelSharedChatSessionEndEvent​

type ChannelSharedChatSessionEndEvent = {
sessionId: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
hostBroadcasterUserId: string
hostBroadcasterUserLogin: string
hostBroadcasterUserName: string
}

ChannelSharedChatSessionParticipantRaw​

type ChannelSharedChatSessionParticipantRaw = {
broadcaster_user_id: string
broadcaster_user_name: string
broadcaster_user_login: string
}

ChannelSharedChatSessionUpdateEvent​

type ChannelSharedChatSessionUpdateEvent = {
sessionId: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
hostBroadcasterUserId: string
hostBroadcasterUserLogin: string
hostBroadcasterUserName: string
participants: Array<ChannelSharedChatSessionParticipantRaw>
}

ChannelSharedChatTimeoutModerationEvent​

type ChannelSharedChatTimeoutModerationEvent = {
action: "shared_chat_timeout"
sharedChatTimeout: ChannelTimeoutModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelSharedChatUnbanModerationEvent​

type ChannelSharedChatUnbanModerationEvent = {
action: "shared_chat_unban"
sharedChatUnban: ChannelModerationEventUserPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelSharedChatUntimeoutModerationEvent​

type ChannelSharedChatUntimeoutModerationEvent = {
action: "shared_chat_untimeout"
sharedChatUntimeout: ChannelModerationEventUserPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelShieldModeBeginEvent​

type ChannelShieldModeBeginEvent = {
startedAt: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelShieldModeEndEvent​

type ChannelShieldModeEndEvent = {
endedAt: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelShoutoutCreateEvent​

type ChannelShoutoutCreateEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
toBroadcasterUserId: string
toBroadcasterUserLogin: string
toBroadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
viewerCount: number
startedAt: string
cooldownEndsAt: string
targetCooldownEndsAt: string
}

ChannelShoutoutReceiveEvent​

type ChannelShoutoutReceiveEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
fromBroadcasterUserId: string
fromBroadcasterUserLogin: string
fromBroadcasterUserName: string
viewerCount: number
startedAt: string
}

ChannelSlowModerationEvent​

type ChannelSlowModerationEvent = {
action: "slow"
slow: ChannelSlowModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelSlowModerationEventPayloadRaw​

type ChannelSlowModerationEventPayloadRaw = {
wait_time_seconds: number
}

ChannelSubscriptionEndEvent​

type ChannelSubscriptionEndEvent = {
userId: string
userLogin: string
userName: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
tier: ChannelSubscriptionEndEventTier
isGift: boolean
}

ChannelSubscriptionEndEventTier​

type ChannelSubscriptionEndEventTier = "1000" | "2000" | "3000"

ChannelSubscriptionEvent​

type ChannelSubscriptionEvent = {
userId: string
userLogin: string
userName: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
tier: ChannelSubscriptionEventTier
isGift: boolean
}

ChannelSubscriptionEventTier​

type ChannelSubscriptionEventTier = "1000" | "2000" | "3000"

ChannelSubscriptionGiftEvent​

type ChannelSubscriptionGiftEvent = {
userId: string | null
userLogin: string | null
userName: string | null
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
total: number
tier: ChannelSubscriptionGiftEventTier
cumulativeTotal: number | null
isAnonymous: boolean
}

ChannelSubscriptionGiftEventTier​

type ChannelSubscriptionGiftEventTier = "1000" | "2000" | "3000"

ChannelSubscriptionMessageEmoteRaw​

type ChannelSubscriptionMessageEmoteRaw = {
begin: number
end: number
id: string
}

ChannelSubscriptionMessageEvent​

type ChannelSubscriptionMessageEvent = {
userId: string
userLogin: string
userName: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
tier: ChannelSubscriptionMessageEventTier
message: ChannelSubscriptionMessageRaw
cumulativeMonths: number
streakMonths: number | null
durationMonths: number
}

ChannelSubscriptionMessageEventTier​

type ChannelSubscriptionMessageEventTier = "1000" | "2000" | "3000"

ChannelSubscriptionMessageRaw​

type ChannelSubscriptionMessageRaw = {
text: string
emotes: Array<ChannelSubscriptionMessageEmoteRaw> | null
}

ChannelSuspiciousUserLowTrustStatus​

type ChannelSuspiciousUserLowTrustStatus = "no_treatment" | "active_monitoring" | "restricted"

ChannelSuspiciousUserMessageCheermotePartRaw​

type ChannelSuspiciousUserMessageCheermotePartRaw = {
type: "cheermote"
text: string
cheermote: ChannelSuspiciousUserMessageCheermoteRaw
}

ChannelSuspiciousUserMessageCheermoteRaw​

type ChannelSuspiciousUserMessageCheermoteRaw = {
prefix: string
bits: number
tier: number
}

ChannelSuspiciousUserMessageEmotePartRaw​

type ChannelSuspiciousUserMessageEmotePartRaw = {
type: "emote"
text: string
emote: ChannelSuspiciousUserMessageEmoteRaw
}

ChannelSuspiciousUserMessageEmoteRaw​

type ChannelSuspiciousUserMessageEmoteRaw = {
id: string
emote_set_id: string
}

ChannelSuspiciousUserMessageEvent​

type ChannelSuspiciousUserMessageEvent = {
broadcasterUserId: string
broadcasterUserName: string
broadcasterUserLogin: string
userId: string
userName: string
userLogin: string
lowTrustStatus: ChannelSuspiciousUserLowTrustStatus
sharedBanChannelIds: Array<string> | null
types: Array<ChannelSuspiciousUserType>
banEvasionEvaluation: ChannelBanEvasionEvaluation
message: ChannelSuspiciousUserMessageRaw
}

ChannelSuspiciousUserMessageRaw​

type ChannelSuspiciousUserMessageRaw = {
message_id: string
text: string
fragments: Array<ChannelSuspiciousUserMessageTextPartRaw | ChannelSuspiciousUserMessageEmotePartRaw | ChannelSuspiciousUserMessageCheermotePartRaw>
}

ChannelSuspiciousUserMessageTextPartRaw​

type ChannelSuspiciousUserMessageTextPartRaw = {
type: "text"
text: string
}

ChannelSuspiciousUserType​

type ChannelSuspiciousUserType = "manually_added" | "ban_evader" | "banned_in_shared_channel"

ChannelSuspiciousUserUpdateEvent​

type ChannelSuspiciousUserUpdateEvent = {
broadcasterUserId: string
broadcasterUserName: string
broadcasterUserLogin: string
moderatorUserId: string
moderatorUserName: string
moderatorUserLogin: string
userId: string
userName: string
userLogin: string
lowTrustStatus: ChannelSuspiciousUserLowTrustStatus
}

ChannelTimeoutModerationEvent​

type ChannelTimeoutModerationEvent = {
action: "timeout"
timeout: ChannelTimeoutModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelTimeoutModerationEventPayloadRaw​

type ChannelTimeoutModerationEventPayloadRaw = {
reason: string
expires_at: string
user_id: string
user_login: string
user_name: string
}

ChannelUnbanEvent​

type ChannelUnbanEvent = {
userId: string
userLogin: string
userName: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelUnbanModerationEvent​

type ChannelUnbanModerationEvent = {
action: "unban"
unban: ChannelModerationEventUserPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelUnbanRequestCreateEvent​

type ChannelUnbanRequestCreateEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
userId: string
userLogin: string
userName: string
text: string
createdAt: string
}

ChannelUnbanRequestModerationEvent​

type ChannelUnbanRequestModerationEvent = {
action: "approve_unban_request" | "deny_unban_request"
unbanRequest: ChannelUnbanRequestModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelUnbanRequestModerationEventPayloadRaw​

type ChannelUnbanRequestModerationEventPayloadRaw = {
is_approved: boolean
moderator_message: string
user_id: string
user_login: string
user_name: string
}

ChannelUnbanRequestResolveEvent​

type ChannelUnbanRequestResolveEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
userId: string
userLogin: string
userName: string
resolutionText?: string
status: ChannelUnbanRequestStatus
}

ChannelUnbanRequestStatus​

type ChannelUnbanRequestStatus = "canceled" | "approved" | "denied"

ChannelUnmodModerationEvent​

type ChannelUnmodModerationEvent = {
action: "unmod"
unmod: ChannelModerationEventUserPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelUnraidModerationEvent​

type ChannelUnraidModerationEvent = {
action: "unraid"
unraid: ChannelModerationEventUserPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelUntimeoutModerationEvent​

type ChannelUntimeoutModerationEvent = {
action: "untimeout"
untimeout: ChannelModerationEventUserPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelUnvipModerationEvent​

type ChannelUnvipModerationEvent = {
action: "unvip"
unvip: ChannelModerationEventUserPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelUpdateEvent​

type ChannelUpdateEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
title: string
language: string
categoryId: string
categoryName: string
contentClassificationLabels: Array<string>
}

ChannelVipEvent​

type ChannelVipEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
userId: string
userLogin: string
userName: string
}

ChannelVipModerationEvent​

type ChannelVipModerationEvent = {
action: "vip"
vip: ChannelModerationEventUserPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelWarnModerationEvent​

type ChannelWarnModerationEvent = {
action: "warn"
warn: ChannelWarnModerationEventPayloadRaw
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
}

ChannelWarnModerationEventPayloadRaw​

type ChannelWarnModerationEventPayloadRaw = {
reason: string | null
chat_rules_cited: Array<string> | null
user_id: string
user_login: string
user_name: string
}

ChannelWarningAcknowledgeEvent​

type ChannelWarningAcknowledgeEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
userId: string
userLogin: string
userName: string
}

ChannelWarningSendEvent​

type ChannelWarningSendEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
moderatorUserId: string
moderatorUserLogin: string
moderatorUserName: string
userId: string
userLogin: string
userName: string
reason: string | null
chatRulesCited: Array<string> | null
}

ChatAutomaticRewardRedemptionMessageEmotePartRaw​

type ChatAutomaticRewardRedemptionMessageEmotePartRaw = {
type: "emote"
text: string
emote: ChatAutomaticRewardRedemptionMessageEmoteRaw
}

ChatAutomaticRewardRedemptionMessageEmoteRaw​

type ChatAutomaticRewardRedemptionMessageEmoteRaw = {
id: string
}

ChatAutomaticRewardRedemptionMessageRaw​

type ChatAutomaticRewardRedemptionMessageRaw = {
text: string
fragments: Array<ChatAutomaticRewardRedemptionMessageTextPartRaw | ChatAutomaticRewardRedemptionMessageEmotePartRaw>
}

ChatAutomaticRewardRedemptionMessageTextPartRaw​

type ChatAutomaticRewardRedemptionMessageTextPartRaw = {
type: "text"
text: string
}

ChatBadgeRaw​

type ChatBadgeRaw = {
set_id: string
id: string
info: string
}

ChatMessageCheerRaw​

type ChatMessageCheerRaw = {
bits: number
}

ChatMessageCheermotePartRaw​

type ChatMessageCheermotePartRaw = {
type: "cheermote"
text: string
cheermote: ChatMessageCheermoteRaw
}

ChatMessageCheermoteRaw​

type ChatMessageCheermoteRaw = {
prefix: string
bits: number
tier: number
}

ChatMessageEmotePartRaw​

type ChatMessageEmotePartRaw = {
type: "emote"
text: string
emote: ChatMessageEmoteRaw
}

ChatMessageEmoteRaw​

type ChatMessageEmoteRaw = {
id: string
emote_set_id: string
owner_id: string
format: Array<string>
}

ChatMessageMentionPartRaw​

type ChatMessageMentionPartRaw = {
type: "mention"
text: string
mention: ChatMessageMentionRaw
}

ChatMessageMentionRaw​

type ChatMessageMentionRaw = {
user_id: string
user_name: string
user_login: string
}

ChatMessageRaw​

type ChatMessageRaw = {
text: string
fragments: Array<ChatMessageTextPartRaw | ChatMessageCheermotePartRaw | ChatMessageEmotePartRaw | ChatMessageMentionPartRaw>
}

ChatMessageReplyRaw​

type ChatMessageReplyRaw = {
parent_message_id: string
parent_message_body: string
parent_user_id: string
parent_user_name: string
parent_user_login: string
thread_message_id: string
thread_user_id: string
thread_user_name: string
thread_user_login: string
}

ChatMessageTextPartRaw​

type ChatMessageTextPartRaw = {
type: "text"
text: string
}

ChatMessageType​

type ChatMessageType = "text" | "channel_points_highlighted" | "channel_points_sub_only" | "user_intro"

ExtensionBitsTransactionCreateEvent​

type ExtensionBitsTransactionCreateEvent = {
id: string
extensionClientId: string
userId: string
userLogin: string
userName: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
product: ExtensionBitsTransactionCreateEventProductRaw
}

ExtensionBitsTransactionCreateEventProductRaw​

type ExtensionBitsTransactionCreateEventProductRaw = {
name: string
sku: string
bits: number
in_development: boolean
}

StreamOfflineEvent​

type StreamOfflineEvent = {
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
}

StreamOnlineEvent​

type StreamOnlineEvent = {
id: string
broadcasterUserId: string
broadcasterUserLogin: string
broadcasterUserName: string
type: StreamOnlineEventStreamType
startedAt: string
}

StreamOnlineEventStreamType​

type StreamOnlineEventStreamType = "live" | "playlist" | "watch_party" | "premiere" | "rerun"

UserAuthorizationGrantEvent​

type UserAuthorizationGrantEvent = {
clientId: string
userId: string
userLogin: string
userName: string
}

UserAuthorizationRevokeEvent​

type UserAuthorizationRevokeEvent = {
clientId: string
userId: string
userLogin: string | null
userName: string | null
}

UserUpdateEvent​

type UserUpdateEvent = {
userId: string
userLogin: string
userName: string
email?: string
emailVerified: boolean
description: string
}

UserWhisperMessageEvent​

type UserWhisperMessageEvent = {
fromUserId: string
fromUserLogin: string
fromUserName: string
toUserId: string
toUserLogin: string
toUserName: string
whisperId: string
whisper: UserWhisperMessageRaw
}

UserWhisperMessageRaw​

type UserWhisperMessageRaw = {
text: string
}