Events
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
}