Documentation ¶
Index ¶
- Constants
- Variables
- func GetWebhookTopicValuesFromRequest(req *http.Request, topic WebhookTopic) map[string]string
- func VerifyEventSubNotification(secret string, header http.Header, message string) bool
- type AccessCredentials
- type AdDetails
- type AdLengthEnum
- type AddBlockedTermParams
- type AddBlockedTermResponse
- type AddChannelModeratorParams
- type AddChannelModeratorResponse
- type AddChannelVipParams
- type AddChannelVipResponse
- type AppAccessTokenResponse
- type AuthorizationURLParams
- type BadgeVersion
- type Ban
- type BanUser
- type BanUserParams
- type BanUserRequestBody
- type BanUserResponse
- type BannedUsersParams
- type BannedUsersResponse
- type BitsLeaderboardParams
- type BitsLeaderboardResponse
- type BlockUserParams
- type BlockUserResponse
- type BlockedTerm
- type BlockedTermsParams
- type BlockedTermsResponse
- type CancelRaidParams
- type CancelRaidResponse
- type Category
- type Channel
- type ChannelCustomReward
- type ChannelCustomRewardResponse
- type ChannelCustomRewardsParams
- type ChannelCustomRewardsRedemption
- type ChannelCustomRewardsRedemptionResponse
- type ChannelEditor
- type ChannelEditorsParams
- type ChannelEditorsResponse
- type ChannelFollow
- type ChannelInformation
- type ChannelVips
- type ChannelVipsResponse
- type CharityCampaignAmount
- type CharityCampaignData
- type CharityCampaignsParams
- type CharityCampaignsResponse
- type CharityDonationData
- type CharityDonationParams
- type CharityDonationsResponse
- type ChatBadge
- type ChatChatter
- type ChatMessage
- type ChatMessageResponse
- type ChatSettings
- type CheermoteTierImages
- type CheermoteTiers
- type Cheermotes
- type CheermotesParams
- type CheermotesResponse
- type Client
- func (c *Client) AddBlockedTerm(params *AddBlockedTermParams) (*AddBlockedTermResponse, error)
- func (c *Client) AddChannelModerator(params *AddChannelModeratorParams) (*AddChannelModeratorResponse, error)
- func (c *Client) AddChannelVip(params *AddChannelVipParams) (*AddChannelVipResponse, error)
- func (c *Client) BanUser(params *BanUserParams) (*BanUserResponse, error)
- func (c *Client) BlockUser(params *BlockUserParams) (*BlockUserResponse, error)
- func (c *Client) CancelRaid(params *CancelRaidParams) (*CancelRaidResponse, error)
- func (c *Client) CheckUserSubscription(params *UserSubscriptionsParams) (*UserSubscriptionResponse, error)
- func (c *Client) CreateClip(params *CreateClipParams) (*CreateClipResponse, error)
- func (c *Client) CreateCustomReward(params *ChannelCustomRewardsParams) (*ChannelCustomRewardResponse, error)
- func (c *Client) CreateEntitlementsUploadURL(manifestID, entitlementType string) (*EntitlementsUploadResponse, error)
- func (c *Client) CreateEventSubSubscription(payload *EventSubSubscription) (*EventSubSubscriptionsResponse, error)
- func (c *Client) CreateExtensionSecret(params *ExtensionSecretCreationParams) (*ExtensionSecretCreationResponse, error)
- func (c *Client) CreatePoll(params *CreatePollParams) (*PollsResponse, error)
- func (c *Client) CreatePrediction(params *CreatePredictionParams) (*PredictionsResponse, error)
- func (c *Client) CreateScheduleSegment(params *CreateScheduleSegmentParams) (*CreateScheduleSegmentResponse, error)
- func (c *Client) CreateStreamMarker(params *CreateStreamMarkerParams) (*CreateStreamMarkerResponse, error)
- func (c *Client) DeleteAllChatMessages(params *DeleteAllChatMessagesParams) (*DeleteAllChatMessagesResponse, error)
- func (c *Client) DeleteChatMessage(params *DeleteChatMessageParams) (*DeleteChatMessageResponse, error)
- func (c *Client) DeleteCustomRewards(params *DeleteCustomRewardsParams) (*DeleteCustomRewardsResponse, error)
- func (c *Client) DeleteScheduleSegment(params *DeleteScheduleSegmentParams) (*DeleteScheduleSegmentResponse, error)
- func (c *Client) DeleteVideos(params *DeleteVideosParams) (*DeleteVideosResponse, error)
- func (c *Client) EditChannelInformation(params *EditChannelInformationParams) (*EditChannelInformationResponse, error)
- func (c *Client) EndPoll(params *EndPollParams) (*PollsResponse, error)
- func (c *Client) EndPrediction(params *EndPredictionParams) (*PredictionsResponse, error)
- func (c *Client) ExtensionCreateClaims(params *ExtensionCreateClaimsParams) (*TwitchJWTClaims, error)
- func (c *Client) ExtensionJWTSign(claims *TwitchJWTClaims) (tokenString string, err error)
- func (c *Client) ExtensionJWTVerify(token string) (claims *TwitchJWTClaims, err error)
- func (c *Client) FormBroadcastSendPubSubPermissions() *PubSubPermissions
- func (c *Client) FormGenericPubSubPermissions() *PubSubPermissions
- func (c *Client) FormGlobalSendPubSubPermissions() *PubSubPermissions
- func (c *Client) FormWhisperSendPubSubPermissions(opaqueId string) *PubSubPermissions
- func (c *Client) GetAppAccessToken() string
- func (c *Client) GetAuthorizationURL(params *AuthorizationURLParams) string
- func (c *Client) GetBannedUsers(params *BannedUsersParams) (*BannedUsersResponse, error)
- func (c *Client) GetBitsLeaderboard(params *BitsLeaderboardParams) (*BitsLeaderboardResponse, error)
- func (c *Client) GetBlockedTerms(params *BlockedTermsParams) (*BlockedTermsResponse, error)
- func (c *Client) GetChannelChatBadges(params *GetChatBadgeParams) (*GetChatBadgeResponse, error)
- func (c *Client) GetChannelChatChatters(params *GetChatChattersParams) (*GetChatChattersResponse, error)
- func (c *Client) GetChannelEditors(params *ChannelEditorsParams) (*ChannelEditorsResponse, error)
- func (c *Client) GetChannelEmotes(params *GetChannelEmotesParams) (*GetChannelEmotesResponse, error)
- func (c *Client) GetChannelFollows(params *GetChannelFollowsParams) (*GetChannelFollowersResponse, error)
- func (c *Client) GetChannelInformation(params *GetChannelInformationParams) (*GetChannelInformationResponse, error)
- func (c *Client) GetChannelVips(params *GetChannelVipsParams) (*ChannelVipsResponse, error)
- func (c *Client) GetCharityCampaigns(params *CharityCampaignsParams) (*CharityCampaignsResponse, error)
- func (c *Client) GetCharityDonations(params *CharityDonationParams) (*CharityDonationsResponse, error)
- func (c *Client) GetChatSettings(params *GetChatSettingsParams) (*GetChatSettingsResponse, error)
- func (c *Client) GetCheermotes(params *CheermotesParams) (*CheermotesResponse, error)
- func (c *Client) GetClips(params *ClipsParams) (*ClipsResponse, error)
- func (c *Client) GetCreatorGoals(payload *GetCreatorGoalsParams) (*CreatorGoalsResponse, error)
- func (c *Client) GetCustomRewards(params *GetCustomRewardsParams) (*ChannelCustomRewardResponse, error)
- func (c *Client) GetDropsEntitlements(params *GetDropEntitlementsParams) (*GetDropsEntitlementsResponse, error)
- func (c *Client) GetEmoteSets(params *GetEmoteSetsParams) (*GetEmoteSetsResponse, error)
- func (c *Client) GetEntitlementCodeStatus(params *CodesParams) (*CodeResponse, error)
- func (c *Client) GetEventSubSubscriptions(params *EventSubSubscriptionsParams) (*EventSubSubscriptionsResponse, error)
- func (c *Client) GetExtensionAnalytics(params *ExtensionAnalyticsParams) (*ExtensionAnalyticsResponse, error)
- func (c *Client) GetExtensionConfigurationSegment(params *ExtensionGetConfigurationParams) (*ExtensionGetConfigurationSegmentResponse, error)
- func (c *Client) GetExtensionLiveChannels(params *ExtensionLiveChannelsParams) (*ExtensionLiveChannelsResponse, error)
- func (c *Client) GetExtensionSecrets(params *GetExtensionSecretParams) (*GetExtensionSecretResponse, error)
- func (c *Client) GetExtensionSignedJWTToken() string
- func (c *Client) GetExtensionTransactions(params *ExtensionTransactionsParams) (*ExtensionTransactionsResponse, error)
- func (c *Client) GetFollowedChannels(params *GetFollowedChannelParams) (*GetFollowedChannelResponse, error)
- func (c *Client) GetFollowedStream(params *FollowedStreamsParams) (*StreamsResponse, error)
- func (c *Client) GetGameAnalytics(params *GameAnalyticsParams) (*GameAnalyticsResponse, error)
- func (c *Client) GetGames(params *GamesParams) (*GamesResponse, error)
- func (c *Client) GetGlobalChatBadges() (*GetChatBadgeResponse, error)
- func (c *Client) GetGlobalEmotes() (*GetChannelEmotesResponse, error)
- func (c *Client) GetHypeTrainEvents(params *HypeTrainEventsParams) (*HypeTrainEventsResponse, error)
- func (c *Client) GetModeratedChannels(params *GetModeratedChannelsParams) (*GetModeratedChannelsResponse, error)
- func (c *Client) GetModerators(params *GetModeratorsParams) (*ModeratorsResponse, error)
- func (c *Client) GetPolls(params *PollsParams) (*PollsResponse, error)
- func (c *Client) GetPredictions(params *PredictionsParams) (*PredictionsResponse, error)
- func (c *Client) GetRefreshToken() string
- func (c *Client) GetSchedule(params *GetScheduleParams) (*GetScheduleResponse, error)
- func (c *Client) GetStreamKey(params *StreamKeyParams) (*StreamKeysResponse, error)
- func (c *Client) GetStreamMarkers(params *StreamMarkersParams) (*StreamMarkersResponse, error)
- func (c *Client) GetStreams(params *StreamsParams) (*StreamsResponse, error)
- func (c *Client) GetSubscriptions(params *SubscriptionsParams) (*SubscriptionsResponse, error)
- func (c *Client) GetTopGames(params *TopGamesParams) (*TopGamesResponse, error)
- func (c *Client) GetUserAccessToken() string
- func (c *Client) GetUserActiveExtensions(params *UserActiveExtensionsParams) (*UserActiveExtensionsResponse, error)
- func (c *Client) GetUserChatColor(params *GetUserChatColorParams) (*UserChatColorResponse, error)
- func (c *Client) GetUserExtensions() (*UserExtensionsResponse, error)
- func (c *Client) GetUsers(params *UsersParams) (*UsersResponse, error)
- func (c *Client) GetUsersBlocked(params *UsersBlockedParams) (*UsersBlockedResponse, error)
- func (c *Client) GetUsersFollows(params *UsersFollowsParams) (*UsersFollowsResponse, error)
- func (c *Client) GetVideos(params *VideosParams) (*VideosResponse, error)
- func (c *Client) GetWebhookSubscriptions(params *WebhookSubscriptionsParams) (*WebhookSubscriptionsResponse, error)
- func (c *Client) ModerateHeldMessage(params *HeldMessageModerationParams) (*HeldMessageModerationResponse, error)
- func (c *Client) OnUserAccessTokenRefreshed(f func(newAccessToken, newRefreshToken string))
- func (c *Client) PostWebhookSubscription(payload *WebhookSubscriptionPayload) (*WebhookSubscriptionResponse, error)
- func (c *Client) RedeemEntitlementCode(params *CodesParams) (*CodeResponse, error)
- func (c *Client) RefreshUserAccessToken(refreshToken string) (*RefreshTokenResponse, error)
- func (c *Client) RemoveBlockedTerm(params *RemoveBlockedTermParams) (*RemoveBlockedTermResponse, error)
- func (c *Client) RemoveChannelModerator(params *RemoveChannelModeratorParams) (*RemoveChannelModeratorResponse, error)
- func (c *Client) RemoveChannelVip(params *RemoveChannelVipParams) (*RemoveChannelVipResponse, error)
- func (c *Client) RemoveEventSubSubscription(id string) (*RemoveEventSubSubscriptionParamsResponse, error)
- func (c *Client) RequestAppAccessToken(scopes []string) (*AppAccessTokenResponse, error)
- func (c *Client) RequestUserAccessToken(code string) (*UserAccessTokenResponse, error)
- func (c *Client) RevokeUserAccessToken(accessToken string) (*RevokeAccessTokenResponse, error)
- func (c *Client) SearchCategories(params *SearchCategoriesParams) (*SearchCategoriesResponse, error)
- func (c *Client) SearchChannels(params *SearchChannelsParams) (*SearchChannelsResponse, error)
- func (c *Client) SendChatAnnouncement(params *SendChatAnnouncementParams) (*SendChatAnnouncementResponse, error)
- func (c *Client) SendChatMessage(params *SendChatMessageParams) (*ChatMessageResponse, error)
- func (c *Client) SendExtensionChatMessage(params *ExtensionSendChatMessageParams) (*ExtensionSendChatMessageResponse, error)
- func (c *Client) SendExtensionPubSubMessage(params *ExtensionSendPubSubMessageParams) (*ExtensionSendPubSubMessageResponse, error)
- func (c *Client) SendModeratorWarnMessage(params *SendModeratorWarnChatMessageParams) (*SendModeratorWarnChatResponse, error)
- func (c *Client) SendShoutout(params *SendShoutoutParams) (*SendShoutoutResponse, error)
- func (c *Client) SendUserWhisper(params *SendUserWhisperParams) (*SendUserWhisperResponse, error)
- func (c *Client) SetAppAccessToken(accessToken string)
- func (c *Client) SetExtensionRequiredConfiguration(params *ExtensionSetRequiredConfigurationParams) (*ExtensionSetRequiredConfigurationResponse, error)
- func (c *Client) SetExtensionSegmentConfig(params *ExtensionSetConfigurationParams) (*ExtensionSetConfigurationResponse, error)
- func (c *Client) SetExtensionSignedJWTToken(jwt string)
- func (c *Client) SetRedirectURI(uri string)
- func (c *Client) SetRefreshToken(refreshToken string)
- func (c *Client) SetUserAccessToken(accessToken string)
- func (c *Client) SetUserAgent(userAgent string)
- func (c *Client) StartCommercial(params *StartCommercialParams) (*StartCommercialResponse, error)
- func (c *Client) StartRaid(params *StartRaidParams) (*RaidResponse, error)
- func (c *Client) UnbanUser(params *UnbanUserParams) (*UnbanUserResponse, error)
- func (c *Client) UnblockUser(params *UnblockUserParams) (*BlockUserResponse, error)
- func (c *Client) UpdateChannelCustomRewardsRedemptionStatus(params *UpdateChannelCustomRewardsRedemptionStatusParams) (*ChannelCustomRewardsRedemptionResponse, error)
- func (c *Client) UpdateChatSettings(params *UpdateChatSettingsParams) (*UpdateChatSettingsResponse, error)
- func (c *Client) UpdateCustomReward(params *UpdateChannelCustomRewardsParams) (*ChannelCustomRewardResponse, error)
- func (c *Client) UpdateDropsEntitlements(params *UpdateDropsEntitlementsParams) (*UpdateDropsEntitlementsResponse, error)
- func (c *Client) UpdateSchedule(params *UpdateScheduleParams) (*UpdateScheduleResponse, error)
- func (c *Client) UpdateScheduleSegment(params *UpdateScheduleSegmentParams) (*UpdateScheduleSegmentResponse, error)
- func (c *Client) UpdateUser(params *UpdateUserParams) (*UsersResponse, error)
- func (c *Client) UpdateUserChatColor(params *UpdateUserChatColorParams) (*UpdateUserChatColorResponse, error)
- func (c *Client) UpdateUserExtensions(payload *UpdateUserExtensionsPayload) (*UserActiveExtensionsResponse, error)
- func (c *Client) ValidateToken(accessToken string) (bool, *ValidateTokenResponse, error)
- type Clip
- type ClipEditURL
- type ClipsParams
- type ClipsResponse
- type CodeResponse
- type CodeStatus
- type CodesParams
- type CreateClipParams
- type CreateClipResponse
- type CreatePollParams
- type CreatePredictionParams
- type CreateScheduleSegmentData
- type CreateScheduleSegmentParams
- type CreateScheduleSegmentResponse
- type CreateStreamMarker
- type CreateStreamMarkerParams
- type CreateStreamMarkerResponse
- type CreatorGoalsResponse
- type DateRange
- type DeleteAllChatMessagesParams
- type DeleteAllChatMessagesResponse
- type DeleteChatMessageParams
- type DeleteChatMessageResponse
- type DeleteCustomRewardsParams
- type DeleteCustomRewardsResponse
- type DeleteScheduleSegmentParams
- type DeleteScheduleSegmentResponse
- type DeleteVideosParams
- type DeleteVideosResponse
- type DropReason
- type EditChannelInformationParams
- type EditChannelInformationResponse
- type Emote
- type EmoteImage
- type EmoteWithOwner
- type EndPollParams
- type EndPredictionParams
- type Entitlement
- type EntitlementCodeStatus
- type EntitlementsUploadResponse
- type EntitlementsUploadURL
- type EventSubBitVoting
- type EventSubChannelBanEvent
- type EventSubChannelChatClearEvent
- type EventSubChannelChatClearUserMessagesEvent
- type EventSubChannelChatMessageDeleteEvent
- type EventSubChannelChatMessageEvent
- type EventSubChannelChatNotificationAnnouncement
- type EventSubChannelChatNotificationBitsBadgeTier
- type EventSubChannelChatNotificationCharityDonation
- type EventSubChannelChatNotificationCharityDonationAmount
- type EventSubChannelChatNotificationCommunitySubGift
- type EventSubChannelChatNotificationEvent
- type EventSubChannelChatNotificationGiftPaidUpgrade
- type EventSubChannelChatNotificationPayItForward
- type EventSubChannelChatNotificationPrimePaidUpgrade
- type EventSubChannelChatNotificationRaid
- type EventSubChannelChatNotificationResub
- type EventSubChannelChatNotificationSub
- type EventSubChannelChatNotificationSubGift
- type EventSubChannelChatNotificationType
- type EventSubChannelChatNotificationUnraid
- type EventSubChannelCheerEvent
- type EventSubChannelFollowEvent
- type EventSubChannelGoalEndEvent
- type EventSubChannelGoalProgressEvent
- type EventSubChannelGoalStartEvent
- type EventSubChannelPointsCustomRewardEvent
- type EventSubChannelPointsCustomRewardRedemptionEvent
- type EventSubChannelPointsVoting
- type EventSubChannelPollBeginEvent
- type EventSubChannelPollEndEvent
- type EventSubChannelPollProgressEvent
- type EventSubChannelPredictionBeginEvent
- type EventSubChannelPredictionEndEvent
- type EventSubChannelPredictionLockEvent
- type EventSubChannelPredictionProgressEvent
- type EventSubChannelRaidEvent
- type EventSubChannelSubscribeEvent
- type EventSubChannelSubscriptionGiftEvent
- type EventSubChannelSubscriptionMessageEvent
- type EventSubChannelUnbanEvent
- type EventSubChannelUpdateEvent
- type EventSubCharityAmount
- type EventSubCharityDonationEvent
- type EventSubCharityProgressEvent
- type EventSubCharityStartEvent
- type EventSubCharityStopEvent
- type EventSubChatBadge
- type EventSubChatMessage
- type EventSubChatMessageCheer
- type EventSubChatMessageCheermote
- type EventSubChatMessageEmote
- type EventSubChatMessageFragment
- type EventSubChatMessageFragmentType
- type EventSubChatMessageMention
- type EventSubChatMessageReply
- type EventSubChatMessageType
- type EventSubChatNotificationMessage
- type EventSubCondition
- type EventSubContribution
- type EventSubEmote
- type EventSubExtensionBitsTransactionCreateEvent
- type EventSubGlobalCooldown
- type EventSubHypeTrainBeginEvent
- type EventSubHypeTrainEndEvent
- type EventSubHypeTrainProgressEvent
- type EventSubImage
- type EventSubMaxPerStream
- type EventSubMessage
- type EventSubModeratorAddEvent
- type EventSubModeratorRemoveEvent
- type EventSubOutcome
- type EventSubProduct
- type EventSubReward
- type EventSubShoutoutCreateEvent
- type EventSubShoutoutReceiveEvent
- type EventSubStreamOfflineEvent
- type EventSubStreamOnlineEvent
- type EventSubSubscription
- type EventSubSubscriptionsParams
- type EventSubSubscriptionsResponse
- type EventSubTopPredictor
- type EventSubTransport
- type EventSubUserAuthenticationRevokeEvent
- type EventSubUserUpdateEvent
- type ExtensionAnalytic
- type ExtensionAnalyticsParams
- type ExtensionAnalyticsResponse
- type ExtensionConfigurationSegment
- type ExtensionCreateClaimsParams
- type ExtensionGetConfigurationParams
- type ExtensionGetConfigurationSegmentResponse
- type ExtensionLiveChannel
- type ExtensionLiveChannelsParams
- type ExtensionLiveChannelsResponse
- type ExtensionOptions
- type ExtensionPubSubPublishType
- type ExtensionSecretCreationParams
- type ExtensionSecretCreationResponse
- type ExtensionSegmentType
- type ExtensionSendChatMessageParams
- type ExtensionSendChatMessageResponse
- type ExtensionSendPubSubMessageParams
- type ExtensionSendPubSubMessageResponse
- type ExtensionSetConfigurationParams
- type ExtensionSetConfigurationResponse
- type ExtensionSetRequiredConfigurationParams
- type ExtensionSetRequiredConfigurationResponse
- type ExtensionTransaction
- type ExtensionTransactionsParams
- type ExtensionTransactionsResponse
- type FollowedChannel
- type FollowedStreamsParams
- type Game
- type GameAnalytic
- type GameAnalyticsParams
- type GameAnalyticsResponse
- type GamesParams
- type GamesResponse
- type GetChannelEmotesParams
- type GetChannelEmotesResponse
- type GetChannelFollowersResponse
- type GetChannelFollowsParams
- type GetChannelInformationParams
- type GetChannelInformationResponse
- type GetChannelVipsParams
- type GetChatBadgeParams
- type GetChatBadgeResponse
- type GetChatChattersParams
- type GetChatChattersResponse
- type GetChatSettingsParams
- type GetChatSettingsResponse
- type GetCreatorGoalsParams
- type GetCustomRewardsParams
- type GetDropEntitlementsParams
- type GetDropsEntitlementsResponse
- type GetEmoteSetsParams
- type GetEmoteSetsResponse
- type GetExtensionSecretParams
- type GetExtensionSecretResponse
- type GetFollowedChannelParams
- type GetFollowedChannelResponse
- type GetModeratedChannelsParams
- type GetModeratedChannelsResponse
- type GetModeratorsParams
- type GetPollsResponse
- type GetPredictionsResponse
- type GetScheduleData
- type GetSchedulePagination
- type GetScheduleParams
- type GetScheduleResponse
- type GetScheduleSegment
- type GetScheduleSegmentCategory
- type GetScheduleVacation
- type GetUserChatColorParams
- type GetUserChatColorResponse
- type GetUserChatColorUser
- type GlobalCooldownSettings
- type Goal
- type HTTPClient
- type HeldMessageModerationParams
- type HeldMessageModerationResponse
- type HypeTrainContribuition
- type HypeTrainEvent
- type HypeTrainEventData
- type HypeTrainEventsParams
- type HypeTrainEventsResponse
- type ManyAdDetails
- type ManyAddBlockedTerms
- type ManyBanUser
- type ManyBans
- type ManyBlockedTerms
- type ManyChannelCustomRewards
- type ManyChannelCustomRewardsRedemptions
- type ManyChannelEditors
- type ManyChannelFollows
- type ManyChannelInformation
- type ManyChannelVips
- type ManyCharityCampaigns
- type ManyCharityDonations
- type ManyChatBadge
- type ManyChatChatters
- type ManyChatMessages
- type ManyChatSettings
- type ManyCheermotes
- type ManyClipEditURLs
- type ManyClips
- type ManyCodes
- type ManyCreateStreamMarkers
- type ManyDropReasons
- type ManyEmotes
- type ManyEmotesWithOwner
- type ManyEntitlements
- type ManyEntitlementsUploadURLs
- type ManyEntitlementsWithPagination
- type ManyEventSubSubscriptions
- type ManyExtensionAnalytics
- type ManyExtensionConfigurationSegments
- type ManyExtensionLiveChannels
- type ManyExtensionSecrets
- type ManyExtensionTransactions
- type ManyFollowedChannels
- type ManyFollows
- type ManyGameAnalytics
- type ManyGames
- type ManyGamesWithPagination
- type ManyGoals
- type ManyHypeTrainEvents
- type ManyModeratedChannels
- type ManyModeratorWarnChatMessages
- type ManyModerators
- type ManyPolls
- type ManyPredictions
- type ManySearchCategories
- type ManySearchChannels
- type ManyStreamKeys
- type ManyStreamMarkers
- type ManyStreams
- type ManySubscriptions
- type ManyUpdatedEntitlementSet
- type ManyUserBitTotals
- type ManyUserExtensions
- type ManyUserSubscriptions
- type ManyUsers
- type ManyUsersBlocked
- type ManyVideos
- type ManyWebhookSubscriptions
- type Marker
- type MaxPerStreamSettings
- type MaxPerUserPerStreamSettings
- type ModeratedChannel
- type Moderator
- type ModeratorWarnChatMessage
- type ModeratorsResponse
- type Options
- type Outcomes
- type Pagination
- type Poll
- type PollChoice
- type PollChoiceParam
- type PollsParams
- type PollsResponse
- type Prediction
- type PredictionChoiceParam
- type PredictionsParams
- type PredictionsResponse
- type PubSubPermissions
- type RaidDetails
- type RaidResponse
- type RateLimitFunc
- type RefreshTokenResponse
- type RemoveBlockedTermParams
- type RemoveBlockedTermResponse
- type RemoveChannelModeratorParams
- type RemoveChannelModeratorResponse
- type RemoveChannelVipParams
- type RemoveChannelVipResponse
- type RemoveEventSubSubscriptionParams
- type RemoveEventSubSubscriptionParamsResponse
- type Response
- type ResponseCommon
- type RevokeAccessTokenResponse
- type RewardImage
- type RoleType
- type ScheduleData
- type SearchCategoriesParams
- type SearchCategoriesResponse
- type SearchChannelsParams
- type SearchChannelsResponse
- type Secret
- type SecretsInformation
- type SendChatAnnouncementParams
- type SendChatAnnouncementResponse
- type SendChatMessageParams
- type SendModeratorWarnChatMessageParams
- type SendModeratorWarnChatResponse
- type SendShoutoutParams
- type SendShoutoutResponse
- type SendUserWhisperParams
- type SendUserWhisperResponse
- type StartCommercialParams
- type StartCommercialResponse
- type StartRaidParams
- type StartRaidResponse
- type Stream
- type StreamKeyParams
- type StreamKeysResponse
- type StreamMarker
- type StreamMarkersParams
- type StreamMarkersResponse
- type StreamsParams
- type StreamsResponse
- type Subscription
- type SubscriptionsParams
- type SubscriptionsResponse
- type TierImageTypes
- type TierImages
- type Time
- type TopGamesParams
- type TopGamesResponse
- type TopPredictor
- type TwitchJWTClaims
- type UnbanUserParams
- type UnbanUserResponse
- type UnblockUserParams
- type UpdateChannelCustomRewardsParams
- type UpdateChannelCustomRewardsRedemptionStatusParams
- type UpdateChatSettingsParams
- type UpdateChatSettingsResponse
- type UpdateDropsEntitlementsParams
- type UpdateDropsEntitlementsResponse
- type UpdateScheduleParams
- type UpdateScheduleResponse
- type UpdateScheduleSegmentData
- type UpdateScheduleSegmentParams
- type UpdateScheduleSegmentResponse
- type UpdateUserChatColorParams
- type UpdateUserChatColorResponse
- type UpdateUserExtensionsPayload
- type UpdateUserParams
- type UpdatedEntitlementSet
- type User
- type UserAccessTokenResponse
- type UserActiveExtension
- type UserActiveExtensionInfo
- type UserActiveExtensionSet
- type UserActiveExtensionsParams
- type UserActiveExtensionsResponse
- type UserBitTotal
- type UserBlocked
- type UserChatColorResponse
- type UserExtension
- type UserExtensionsResponse
- type UserFollow
- type UserSubscription
- type UserSubscriptionResponse
- type UserSubscriptionsParams
- type UsersBlockedParams
- type UsersBlockedResponse
- type UsersFollowsParams
- type UsersFollowsResponse
- type UsersParams
- type UsersResponse
- type ValidateTokenResponse
- type Video
- type VideoMarker
- type VideoMutedSegment
- type VideosParams
- type VideosResponse
- type WebhookSubscription
- type WebhookSubscriptionPayload
- type WebhookSubscriptionResponse
- type WebhookSubscriptionsParams
- type WebhookSubscriptionsResponse
- type WebhookTopic
Constants ¶
const ( SUCCESSFULLY_REDEEMED EntitlementCodeStatus = "SUCCESSFULLY_REDEEMED" ALREADY_CLAIMED = "ALREADY_CLAIMED" EXPIRED = "EXPIRED" USER_NOT_ELIGIBLE = "USER_NOT_ELIGIBLE" NOT_FOUND = "NOT_FOUND" INACTIVE = "INACTIVE" UNUSED = "UNUSED" INCORRECT_FORMAT = "INCORRECT_FORMAT" INTERNAL_ERROR = "INTERNAL_ERROR" )
const ( EventSubStatusEnabled = "enabled" EventSubStatusPending = "webhook_callback_verification_pending" EventSubStatusFailed = "webhook_callback_verification_failed" EventSubStatusNotificationFailuresExceeded = "notification_failures_exceeded" EventSubStatusAuthorizationRevoked = "authorization_revoked" EventSubStatusUserRemoved = "user_removed" EventSubTypeChannelGoalBegin = "channel.goal.begin" EventSubTypeChannelGoalProgress = "channel.goal.progress" EventSubTypeChannelGoalEnd = "channel.goal.end" EventSubTypeChannelUpdate = "channel.update" EventSubTypeChannelFollow = "channel.follow" EventSubTypeChannelSubscription = "channel.subscribe" EventSubTypeChannelSubscriptionEnd = "channel.subscription.end" EventSubTypeChannelSubscriptionGift = "channel.subscription.gift" EventSubTypeChannelSubscriptionMessage = "channel.subscription.message" EventSubTypeChannelCheer = "channel.cheer" EventSubTypeChannelRaid = "channel.raid" EventSubTypeChannelBan = "channel.ban" EventSubTypeChannelUnban = "channel.unban" EventSubTypeModeratorAdd = "channel.moderator.add" EventSubTypeModeratorRemove = "channel.moderator.remove" EventSubTypeChannelPointsCustomRewardAdd = "channel.channel_points_custom_reward.add" EventSubTypeChannelPointsCustomRewardUpdate = "channel.channel_points_custom_reward.update" EventSubTypeChannelPointsCustomRewardRemove = "channel.channel_points_custom_reward.remove" EventSubTypeChannelPointsCustomRewardRedemptionAdd = "channel.channel_points_custom_reward_redemption.add" EventSubTypeChannelPointsCustomRewardRedemptionUpdate = "channel.channel_points_custom_reward_redemption.update" EventSubTypeChannelChatClear = "channel.chat.clear" EventSubTypeChannelChatClearUserMessages = "channel.chat.clear_user_messages" EventSubTypeChannelChatMessage = "channel.chat.message" EventSubTypeChannelChatMessageDelete = "channel.chat.message_delete" EventSubTypeChannelChatNotification = "channel.chat.notification" EventSubTypeChannelPollBegin = "channel.poll.begin" EventSubTypeChannelPollProgress = "channel.poll.progress" EventSubTypeChannelPollEnd = "channel.poll.end" EventSubTypeChannelPredictionBegin = "channel.prediction.begin" EventSubTypeChannelPredictionProgress = "channel.prediction.progress" EventSubTypeChannelPredictionLock = "channel.prediction.lock" EventSubTypeChannelPredictionEnd = "channel.prediction.end" EventSubExtensionBitsTransactionCreate = "extension.bits_transaction.create" EventSubTypeHypeTrainBegin = "channel.hype_train.begin" EventSubTypeHypeTrainProgress = "channel.hype_train.progress" EventSubTypeHypeTrainEnd = "channel.hype_train.end" EventSubTypeCharityDonation = "channel.charity_campaign.donate" EventSubTypeCharityProgress = "channel.charity_campaign.progress" EventSubTypeCharityStop = "channel.charity_campaign.stop" EventSubTypeCharityStart = "channel.charity_campaign.start" EventSubTypeStreamOnline = "stream.online" EventSubTypeStreamOffline = "stream.offline" EventSubTypeUserAuthorizationRevoke = "user.authorization.revoke" EventSubTypeUserUpdate = "user.update" EventSubShoutoutCreate = "channel.shoutout.create" EventSubShoutoutReceive = "channel.shoutout.receive" )
EventSub helper Variables for Types and Status
const ( // DefaultAPIBaseURL is the base URL for composing API requests. DefaultAPIBaseURL = "https://api.twitch.tv/helix" // AuthBaseURL is the base URL for composing authentication requests. AuthBaseURL = "https://id.twitch.tv/oauth2" )
Variables ¶
var ( UserFollowsRegexp = regexp.MustCompile("helix/users/follows\\?first=1(&from_id=(?P<from_id>\\d+))?(&to_id=(?P<to_id>\\d+))?>") StreamChangedRegexp = regexp.MustCompile("helix/streams\\?user_id=(?P<user_id>\\d+)>") UserChangedRegexp = regexp.MustCompile("helix/users\\?id=(?P<id>\\d+)>") GameAnalyticsRegexp = regexp.MustCompile("helix/analytics\\?game_id=(?P<game_id>\\w+)>") ExtensionAnalyticsRegexp = regexp.MustCompile("helix/analytics\\?extension_id=(?P<extension_id>\\w+)>") )
Regular expressions used for parsing webhook link headers
Functions ¶
func GetWebhookTopicValuesFromRequest ¶ added in v0.4.2
func GetWebhookTopicValuesFromRequest(req *http.Request, topic WebhookTopic) map[string]string
GetWebhookTopicValuesFromRequest inspects the "Link" request header to determine if it matches against any recognised webhooks topics and returns the unique values specified in the header.
For example, say we receive a "User Follows" webhook event from Twitch. Its "Link" header value look likes the following:
<https://api.twitch.tv/helix/webhooks/hub>; rel="hub", <https://api.twitch.tv/helix/users/follows?first=1&from_id=111116&to_id=22222>; rel="self"
From which GetWebhookTopicValuesFromRequest will return a map with the values of from_id and to_id:
map[from_id:111116 to_id:22222]
This is particularly useful for webhooks events that do not have a distinguishable JSON payload, such as the "Stream Changed" down event.
Additionally, if topic is not known you can pass -1 as its value and
Types ¶
type AccessCredentials ¶ added in v0.7.0
type AdDetails ¶ added in v1.31.0
type AdDetails struct { Length AdLengthEnum `json:"length"` Message string `json:"message"` RetryAfter int `json:"retry_after"` }
type AdLengthEnum ¶ added in v1.31.0
type AdLengthEnum int
const ( AdLen30 AdLengthEnum AdLen60 AdLen90 AdLen120 AdLen150 AdLen180 )
type AddBlockedTermParams ¶ added in v1.41.6
type AddBlockedTermResponse ¶ added in v1.41.6
type AddBlockedTermResponse struct { ResponseCommon Data ManyAddBlockedTerms }
type AddChannelModeratorParams ¶ added in v1.50.0
type AddChannelModeratorResponse ¶ added in v1.50.0
type AddChannelModeratorResponse struct {
ResponseCommon
}
type AddChannelVipParams ¶ added in v1.42.7
type AddChannelVipResponse ¶ added in v1.42.7
type AddChannelVipResponse struct {
ResponseCommon
}
type AppAccessTokenResponse ¶
type AppAccessTokenResponse struct { ResponseCommon Data AccessCredentials }
type AuthorizationURLParams ¶ added in v0.7.0
type BadgeVersion ¶ added in v1.31.0
type Ban ¶ added in v0.5.5
type Ban struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` ExpiresAt Time `json:"expires_at"` }
ExpiresAt must be parsed manually since an empty string means perma ban
type BanUserParams ¶ added in v1.41.6
type BanUserParams struct { BroadcasterID string `query:"broadcaster_id"` ModeratorId string `query:"moderator_id"` Body BanUserRequestBody `json:"data"` }
type BanUserRequestBody ¶ added in v1.41.6
type BanUserResponse ¶ added in v1.41.6
type BanUserResponse struct { ResponseCommon Data ManyBanUser }
type BannedUsersParams ¶ added in v0.5.5
type BannedUsersParams struct { BroadcasterID string `query:"broadcaster_id"` // Filter by provided UserIDs UserID []string `query:"user_id"` After string `query:"after"` Before string `query:"before"` }
BroadcasterID must match the auth tokens user_id
type BannedUsersResponse ¶ added in v0.5.5
type BannedUsersResponse struct { ResponseCommon Data ManyBans }
type BitsLeaderboardParams ¶
type BitsLeaderboardResponse ¶
type BitsLeaderboardResponse struct { ResponseCommon Data ManyUserBitTotals }
type BlockUserParams ¶ added in v1.31.0
type BlockUserResponse ¶ added in v1.31.0
type BlockUserResponse struct {
ResponseCommon
}
type BlockedTerm ¶ added in v1.41.6
type BlockedTermsParams ¶ added in v1.41.6
type BlockedTermsResponse ¶ added in v1.41.6
type BlockedTermsResponse struct { ResponseCommon Data ManyBlockedTerms }
type CancelRaidParams ¶ added in v1.42.7
type CancelRaidParams struct {
BroadcasterID string `query:"broadcaster_id"`
}
CancelRaidParams are the parameters for CancelRaid
type CancelRaidResponse ¶ added in v1.42.7
type CancelRaidResponse struct {
ResponseCommon
}
CancelRaidResponse is the response from StartRaid
type Category ¶ added in v1.42.7
type Category struct { ID string `json:"id"` Name string `json:"name"` BoxArtURL string `json:"box_art_url"` }
Category describes a category from SearchCategory
type Channel ¶ added in v0.6.0
type Channel struct { ID string `json:"id"` GameID string `json:"game_id"` GameName string `json:"game_name"` BroadcasterLogin string `json:"broadcaster_login"` DisplayName string `json:"display_name"` Language string `json:"broadcaster_language"` Title string `json:"title"` Tags []string `json:"tags"` ThumbnailURL string `json:"thumbnail_url"` IsLive bool `json:"is_live"` StartedAt Time `json:"started_at"` TagIDs []string `json:"tag_ids"` }
Channel describes a channel from SearchChannel
type ChannelCustomReward ¶ added in v1.31.0
type ChannelCustomReward struct { BroadcasterID string `json:"broadcaster_id"` BroadcasterLogin string `json:"broadcaster_login"` BroadcasterName string `json:"broadcaster_name"` ID string `json:"id"` Title string `json:"title"` Prompt string `json:"prompt"` Cost int `json:"cost"` Image RewardImage `json:"image"` BackgroundColor string `json:"background_color"` DefaultImage RewardImage `json:"default_image"` IsEnabled bool `json:"is_enabled"` IsUserInputRequired bool `json:"is_user_input_required"` MaxPerStreamSetting MaxPerStreamSettings `json:"max_per_stream_setting"` MaxPerUserPerStreamSetting MaxPerUserPerStreamSettings `json:"max_per_user_per_stream_setting"` GlobalCooldownSetting GlobalCooldownSettings `json:"global_cooldown_setting"` IsPaused bool `json:"is_paused"` IsInStock bool `json:"is_in_stock"` ShouldRedemptionsSkipRequestQueue bool `json:"should_redemptions_skip_request_queue"` RedemptionsRedeemedCurrentStream int `json:"redemptions_redeemed_current_stream"` CooldownExpiresAt string `json:"cooldown_expires_at"` }
type ChannelCustomRewardResponse ¶ added in v1.31.0
type ChannelCustomRewardResponse struct { ResponseCommon Data ManyChannelCustomRewards }
type ChannelCustomRewardsParams ¶ added in v1.31.0
type ChannelCustomRewardsParams struct { BroadcasterID string `query:"broadcaster_id"` Title string `json:"title"` Cost int `json:"cost"` Prompt string `json:"prompt"` IsEnabled bool `json:"is_enabled"` BackgroundColor string `json:"background_color,omitempty"` IsUserInputRequired bool `json:"is_user_input_required"` IsMaxPerStreamEnabled bool `json:"is_max_per_stream_enabled"` MaxPerStream int `json:"max_per_stream"` IsMaxPerUserPerStreamEnabled bool `json:"is_max_per_user_per_stream_enabled"` MaxPerUserPerStream int `json:"max_per_user_per_stream"` IsGlobalCooldownEnabled bool `json:"is_global_cooldown_enabled"` GlobalCooldownSeconds int `json:"global_cooldown_seconds"` ShouldRedemptionsSkipRequestQueue bool `json:"should_redemptions_skip_request_queue"` }
type ChannelCustomRewardsRedemption ¶ added in v1.50.0
type ChannelCustomRewardsRedemption struct { ID string `json:"id"` BroadcasterID string `json:"broadcaster_id"` BroadcasterLogin string `json:"broadcaster_login"` BroadcasterName string `json:"broadcaster_name"` UserID string `json:"user_id"` UserName string `json:"user_name"` UserLogin string `json:"user_login"` UserInput string `json:"user_input"` Status string `json:"status"` RedeemedAt Time `json:"redeemed_at"` Reward ChannelCustomReward `json:"reward"` }
type ChannelCustomRewardsRedemptionResponse ¶ added in v1.50.0
type ChannelCustomRewardsRedemptionResponse struct { ResponseCommon Data ManyChannelCustomRewardsRedemptions }
type ChannelEditor ¶ added in v1.31.0
type ChannelEditor struct { UserID string `json:"user_id"` UserName string `json:"user_name"` CreatedAt Time `json:"created_at"` }
ChannelEditor
type ChannelEditorsParams ¶ added in v1.31.0
type ChannelEditorsParams struct {
BroadcasterID string `query:"broadcaster_id"`
}
type ChannelEditorsResponse ¶ added in v1.31.0
type ChannelEditorsResponse struct { ResponseCommon Data ManyChannelEditors }
type ChannelFollow ¶ added in v1.42.4
type ChannelFollow struct { UserID string `json:"user_id"` Username string `json:"user_name"` UserLogin string `json:"user_login"` Followed Time `json:"followed_at"` }
Channel describes a follow of a channel
type ChannelInformation ¶ added in v1.31.0
type ChannelInformation struct { BroadcasterID string `json:"broadcaster_id"` BroadcasterName string `json:"broadcaster_name"` BroadcasterLanguage string `json:"broadcaster_language"` GameID string `json:"game_id"` GameName string `json:"game_name"` Title string `json:"title"` Delay int `json:"delay"` Tags []string `json:"tags"` }
type ChannelVips ¶ added in v1.42.7
type ChannelVipsResponse ¶ added in v1.42.7
type ChannelVipsResponse struct { ResponseCommon Data ManyChannelVips }
type CharityCampaignAmount ¶ added in v1.41.1
type CharityCampaignData ¶ added in v1.41.1
type CharityCampaignData struct { ID string `json:"id"` BroadcasterID string `json:"broadcaster_id"` BroadcasterName string `json:"broadcaster_name"` BroadcasterLogin string `json:"broadcaster_login"` Name string `json:"charity_name"` Description string `json:"charity_description"` LogoUrl string `json:"charity_logo"` WebsiteUrl string `json:"charity_website"` TargetAmount CharityCampaignAmount `json:"target_amount"` CurrentAmount CharityCampaignAmount `json:"current_amount"` }
type CharityCampaignsParams ¶ added in v1.41.1
type CharityCampaignsResponse ¶ added in v1.41.1
type CharityCampaignsResponse struct { ResponseCommon Data ManyCharityCampaigns }
type CharityDonationData ¶ added in v1.41.6
type CharityDonationParams ¶ added in v1.41.6
type CharityDonationsResponse ¶ added in v1.41.6
type CharityDonationsResponse struct { ResponseCommon Data ManyCharityDonations }
type ChatBadge ¶ added in v1.31.0
type ChatBadge struct { SetID string `json:"set_id"` Versions []BadgeVersion `json:"versions"` }
type ChatChatter ¶ added in v1.41.5
type ChatMessage ¶ added in v1.53.1
type ChatMessage struct { // The message id for the message that was sent MessageID string `json:"message_id"` // If the message passed all checks and was sent IsSent bool `json:"is_sent"` // The reason the message was dropped, if any DropReasons ManyDropReasons `json:"drop_reason"` }
type ChatMessageResponse ¶ added in v1.53.1
type ChatMessageResponse struct { ResponseCommon Data ManyChatMessages }
type ChatSettings ¶ added in v1.41.7
type ChatSettings struct { BroadcasterID string `json:"broadcaster_id"` EmoteMode bool `json:"emote_mode"` FollowerMode bool `json:"follower_mode"` // Follower mode duration in minutes FollowerModeDuration int `json:"follower_mode_duration"` SlowMode bool `json:"slow_mode"` // Slow mode wait time in seconds SlowModeWaitTime int `json:"slow_mode_wait_time"` SubscriberMode bool `json:"subscriber_mode"` UniqueChatMode bool `json:"unique_chat_mode"` // Only included if the user access token includes the `moderator:read:chat_settings` scope ModeratorID string `json:"moderator_id"` // Boolean value denoting whether the "Non moderator chat delay" setting is enabled. // Only included if the request specifies a user access token that includes the moderator:read:chat_settings scope and the user in the moderator_id query parameter is one of the broadcaster’s moderators. NonModeratorChatDelay bool `json:"non_moderator_chat_delay"` // The amount of time, in seconds, that messages are delayed before appearing in chat. // Only included if the request specifies a user access token that includes the moderator:read:chat_settings scope and the user in the moderator_id query parameter is one of the broadcaster’s moderators. NonModeratorChatDelayDuration int `json:"non_moderator_chat_delay_duration"` }
type CheermoteTierImages ¶ added in v1.31.0
type CheermoteTierImages struct { Dark TierImageTypes `json:"dark"` Light TierImageTypes `json:"light"` }
type CheermoteTiers ¶ added in v1.31.0
type Cheermotes ¶ added in v1.31.0
type Cheermotes struct { Prefix string `json:"prefix"` Tiers []CheermoteTiers `json:"tiers"` Type string `json:"type"` // global_first_party, global_third_party, channel_custom, display_only, sponsored Order uint `json:"order"` LastUpdated Time `json:"last_updated"` IsCharitable bool `json:"is_charitable"` }
type CheermotesParams ¶ added in v1.31.0
type CheermotesParams struct {
BroadcasterID string `query:"broadcaster_id"` // optional
}
type CheermotesResponse ¶ added in v1.31.0
type CheermotesResponse struct { ResponseCommon Data ManyCheermotes }
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
NewClient returns a new Twitch Helix API client. It returns an if clientID is an empty string. It is concurrency safe.
func NewClientWithContext ¶ added in v1.41.7
func (*Client) AddBlockedTerm ¶ added in v1.41.6
func (c *Client) AddBlockedTerm(params *AddBlockedTermParams) (*AddBlockedTermResponse, error)
AddBlockedTerm Adds a word or phrase to the broadcaster’s list of blocked terms. These are the terms that broadcasters don’t want used in their chat room. Required scope: moderator:manage:blocked_terms
func (*Client) AddChannelModerator ¶ added in v1.50.0
func (c *Client) AddChannelModerator(params *AddChannelModeratorParams) (*AddChannelModeratorResponse, error)
func (*Client) AddChannelVip ¶ added in v1.42.7
func (c *Client) AddChannelVip(params *AddChannelVipParams) (*AddChannelVipResponse, error)
AddChannelVip Adds the specified user as a VIP in the broadcaster’s channel. Required scope: channel:manage:vips Rate Limits: The broadcaster may add a maximum of 10 VIPs within a 10-second window.
func (*Client) BanUser ¶ added in v1.41.6
func (c *Client) BanUser(params *BanUserParams) (*BanUserResponse, error)
BanUser Bans a user from participating in a broadcaster’s chat room, or puts them in a timeout. Required scope: moderator:manage:banned_users
func (*Client) BlockUser ¶ added in v1.31.0
func (c *Client) BlockUser(params *BlockUserParams) (*BlockUserResponse, error)
BlockUser : Blocks the specified user on behalf of the authenticated user.
Required scope: user:manage:blocked_users
func (*Client) CancelRaid ¶ added in v1.42.7
func (c *Client) CancelRaid(params *CancelRaidParams) (*CancelRaidResponse, error)
CancelRaid cancels a pending raid. Required scope: channel:manage:raids Rate limit: 10 requests within a 10-minute window.
func (*Client) CheckUserSubscription ¶ added in v1.33.1
func (c *Client) CheckUserSubscription(params *UserSubscriptionsParams) (*UserSubscriptionResponse, error)
CheckUserSubscription Check if a specific user is subscribed to a specific channel
Required scope: user:read:subscriptions
func (*Client) CreateClip ¶
func (c *Client) CreateClip(params *CreateClipParams) (*CreateClipResponse, error)
CreateClip creates a clip programmatically. This returns both an ID and an edit URL for the new clip. Clip creation takes time. We recommend that you query Get Clip, with the clip ID that is returned here. If Get Clip returns a valid clip, your clip creation was successful. If, after 15 seconds, you still have not gotten back a valid clip from Get Clip, assume that the clip was not created and retry Create Clip.
Required scope: clips:edit
func (*Client) CreateCustomReward ¶ added in v1.31.0
func (c *Client) CreateCustomReward(params *ChannelCustomRewardsParams) (*ChannelCustomRewardResponse, error)
CreateCustomReward : Creates a Custom Reward on a channel. Required scope: channel:manage:redemptions
func (*Client) CreateEntitlementsUploadURL ¶
func (c *Client) CreateEntitlementsUploadURL(manifestID, entitlementType string) (*EntitlementsUploadResponse, error)
CreateEntitlementsUploadURL return a URL where you can upload a manifest file and notify users that they have an entitlement. Entitlements are digital items that users are entitled to use. Twitch entitlements are granted to users gratis or as part of a purchase on Twitch.
func (*Client) CreateEventSubSubscription ¶ added in v1.31.0
func (c *Client) CreateEventSubSubscription(payload *EventSubSubscription) (*EventSubSubscriptionsResponse, error)
Creates an EventSub subscription
func (*Client) CreateExtensionSecret ¶ added in v1.32.0
func (c *Client) CreateExtensionSecret(params *ExtensionSecretCreationParams) (*ExtensionSecretCreationResponse, error)
func (*Client) CreatePoll ¶ added in v1.31.0
func (c *Client) CreatePoll(params *CreatePollParams) (*PollsResponse, error)
Required scope: channel:manage:polls
func (*Client) CreatePrediction ¶ added in v1.31.0
func (c *Client) CreatePrediction(params *CreatePredictionParams) (*PredictionsResponse, error)
Required scope: channel:manage:predictions
func (*Client) CreateScheduleSegment ¶ added in v1.50.0
func (c *Client) CreateScheduleSegment(params *CreateScheduleSegmentParams) (*CreateScheduleSegmentResponse, error)
Updates the broadcaster’s schedule settings, such as scheduling a vacation
func (*Client) CreateStreamMarker ¶ added in v0.4.2
func (c *Client) CreateStreamMarker(params *CreateStreamMarkerParams) (*CreateStreamMarkerResponse, error)
CreateStreamMarker creates a stream marker for a live stream at the current time. The user has to be the stream owner or an editor. Stream markers cannot be created in some cases, see: https://dev.twitch.tv/docs/api/reference/#create-stream-marker
Required Scope: user:edit:broadcast
func (*Client) DeleteAllChatMessages ¶ added in v1.41.7
func (c *Client) DeleteAllChatMessages(params *DeleteAllChatMessagesParams) (*DeleteAllChatMessagesResponse, error)
DeleteAllChatMessages Removes all chat messages from the broadcaster’s chat room. Required scope: moderator:manage:chat_messages
func (*Client) DeleteChatMessage ¶ added in v1.41.7
func (c *Client) DeleteChatMessage(params *DeleteChatMessageParams) (*DeleteChatMessageResponse, error)
DeleteChatMessage Removes a single chat message from the broadcaster’s chat room. Required scope: moderator:manage:chat_messages
func (*Client) DeleteCustomRewards ¶ added in v1.31.0
func (c *Client) DeleteCustomRewards(params *DeleteCustomRewardsParams) (*DeleteCustomRewardsResponse, error)
DeleteCustomRewards : Deletes a Custom Rewards on a channel Required scope: channel:manage:redemptions
func (*Client) DeleteScheduleSegment ¶ added in v1.50.0
func (c *Client) DeleteScheduleSegment(params *DeleteScheduleSegmentParams) (*DeleteScheduleSegmentResponse, error)
Removes a broadcast segment from the broadcaster’s streaming schedule
func (*Client) DeleteVideos ¶ added in v1.31.0
func (c *Client) DeleteVideos(params *DeleteVideosParams) (*DeleteVideosResponse, error)
DeleteVideos delete one or more videos (max 5) Required scope: channel:manage:videos
func (*Client) EditChannelInformation ¶ added in v1.31.0
func (c *Client) EditChannelInformation(params *EditChannelInformationParams) (*EditChannelInformationResponse, error)
func (*Client) EndPoll ¶ added in v1.31.0
func (c *Client) EndPoll(params *EndPollParams) (*PollsResponse, error)
Required scope: channel:manage:polls
func (*Client) EndPrediction ¶ added in v1.31.0
func (c *Client) EndPrediction(params *EndPredictionParams) (*PredictionsResponse, error)
Required scope: channel:manage:predictions
func (*Client) ExtensionCreateClaims ¶ added in v1.32.0
func (c *Client) ExtensionCreateClaims( params *ExtensionCreateClaimsParams, ) ( *TwitchJWTClaims, error, )
CreateClaims will construct a claims suitable for generating a JWT token, containing necessary information required by the Twitch Helix Extension API endpoints.
func (*Client) ExtensionJWTSign ¶ added in v1.32.0
func (c *Client) ExtensionJWTSign(claims *TwitchJWTClaims) (tokenString string, err error)
ExtensionJWTSign Sign the a JWT Claim to produce a base64 token.
func (*Client) ExtensionJWTVerify ¶ added in v1.32.0
func (c *Client) ExtensionJWTVerify(token string) (claims *TwitchJWTClaims, err error)
ExtensionJWTVerify validates a extension client side twitch base64 token and converts it into a twitch claim type, containing relevant information.
func (*Client) FormBroadcastSendPubSubPermissions ¶ added in v1.32.0
func (c *Client) FormBroadcastSendPubSubPermissions() *PubSubPermissions
FormBroadcastSendPubSubPermissions create the pubsub permissions for publishing a broadcast message type
func (*Client) FormGenericPubSubPermissions ¶ added in v1.32.5
func (c *Client) FormGenericPubSubPermissions() *PubSubPermissions
FormGenericPubSubPermissions create the pubsub permissions for publishing to message for any target type
func (*Client) FormGlobalSendPubSubPermissions ¶ added in v1.32.5
func (c *Client) FormGlobalSendPubSubPermissions() *PubSubPermissions
FormGlobalSendPubSubPermissions create the pubsub permissions for publishing a global targeted message
func (*Client) FormWhisperSendPubSubPermissions ¶ added in v1.32.0
func (c *Client) FormWhisperSendPubSubPermissions(opaqueId string) *PubSubPermissions
FormWhisperSendPubSubPermissions create the pubsub permissions for publishing a whisper message type
func (*Client) GetAppAccessToken ¶
GetAppAccessToken returns the current app access token.
func (*Client) GetAuthorizationURL ¶
func (c *Client) GetAuthorizationURL(params *AuthorizationURLParams) string
func (*Client) GetBannedUsers ¶ added in v0.5.5
func (c *Client) GetBannedUsers(params *BannedUsersParams) (*BannedUsersResponse, error)
GetBannedUsers returns all banned and timed-out users in a channel.
Required scope: moderation:read
func (*Client) GetBitsLeaderboard ¶
func (c *Client) GetBitsLeaderboard(params *BitsLeaderboardParams) (*BitsLeaderboardResponse, error)
GetBitsLeaderboard gets a ranked list of Bits leaderboard information for an authorized broadcaster.
Required Scope: bits:read
func (*Client) GetBlockedTerms ¶ added in v1.41.6
func (c *Client) GetBlockedTerms(params *BlockedTermsParams) (*BlockedTermsResponse, error)
GetBlockedTerms Gets the broadcaster’s list of non-private, blocked words or phrases. These are the terms that the broadcaster or moderator added manually, or that were denied by AutoMod. Required scope: moderator:read:blocked_terms
func (*Client) GetChannelChatBadges ¶ added in v1.31.0
func (c *Client) GetChannelChatBadges(params *GetChatBadgeParams) (*GetChatBadgeResponse, error)
func (*Client) GetChannelChatChatters ¶ added in v1.41.5
func (c *Client) GetChannelChatChatters(params *GetChatChattersParams) (*GetChatChattersResponse, error)
Required scope: moderator:read:chatters
func (*Client) GetChannelEditors ¶ added in v1.31.0
func (c *Client) GetChannelEditors(params *ChannelEditorsParams) (*ChannelEditorsResponse, error)
GetChannelEditors Get a list of users who have editor permissions for a specific channel Required scope: channel:read:editors
func (*Client) GetChannelEmotes ¶ added in v1.31.0
func (c *Client) GetChannelEmotes(params *GetChannelEmotesParams) (*GetChannelEmotesResponse, error)
func (*Client) GetChannelFollows ¶ added in v1.42.4
func (c *Client) GetChannelFollows(params *GetChannelFollowsParams) (*GetChannelFollowersResponse, error)
GetChannelFollows Gets a list of users that follow the specified broadcaster. You can also use this endpoint to see whether a specific user follows the broadcaster.. requires moderator:read:followers
func (*Client) GetChannelInformation ¶ added in v1.31.0
func (c *Client) GetChannelInformation(params *GetChannelInformationParams) (*GetChannelInformationResponse, error)
func (*Client) GetChannelVips ¶ added in v1.42.7
func (c *Client) GetChannelVips(params *GetChannelVipsParams) (*ChannelVipsResponse, error)
GetChannelVips Gets a list of the broadcaster’s VIPs. Required scope: channel:read:vips
func (*Client) GetCharityCampaigns ¶ added in v1.41.1
func (c *Client) GetCharityCampaigns(params *CharityCampaignsParams) (*CharityCampaignsResponse, error)
Required scope: channel:read:charity
func (*Client) GetCharityDonations ¶ added in v1.41.6
func (c *Client) GetCharityDonations(params *CharityDonationParams) (*CharityDonationsResponse, error)
Required scope: channel:read:charity
func (*Client) GetChatSettings ¶ added in v1.41.7
func (c *Client) GetChatSettings(params *GetChatSettingsParams) (*GetChatSettingsResponse, error)
GetChatSettings gets the chat settings for the broadcaster's chat room. Optional scope: moderator:read:chat_settings
func (*Client) GetCheermotes ¶ added in v1.31.0
func (c *Client) GetCheermotes(params *CheermotesParams) (*CheermotesResponse, error)
func (*Client) GetClips ¶
func (c *Client) GetClips(params *ClipsParams) (*ClipsResponse, error)
GetClips returns information about a specified clip.
func (*Client) GetCreatorGoals ¶ added in v1.33.3
func (c *Client) GetCreatorGoals(payload *GetCreatorGoalsParams) (*CreatorGoalsResponse, error)
Required scope: channel:read:goals
func (*Client) GetCustomRewards ¶ added in v1.31.0
func (c *Client) GetCustomRewards(params *GetCustomRewardsParams) (*ChannelCustomRewardResponse, error)
GetCustomRewards : Get Custom Rewards on a channel Required scope: channel:read:redemptions
func (*Client) GetDropsEntitlements ¶ added in v1.31.0
func (c *Client) GetDropsEntitlements(params *GetDropEntitlementsParams) (*GetDropsEntitlementsResponse, error)
GetDropsEntitlements returns a list of entitlements, which have been awarded to users by your organization. Filtering by UserID returns all of the entitlements related to that specific user. Filtering by GameID returns all of the entitlements related to that game. Filtering by GameID and UserID returns all of the entitlements related to that game and that user. Filtering by FulfillmentStatus returns all of the entitlements with the specified fulfillment status. Entitlements are digital items that users are entitled to use. Twitch entitlements are granted based on viewership engagement with a content creator, based on the game developers' campaign.
func (*Client) GetEmoteSets ¶ added in v1.31.0
func (c *Client) GetEmoteSets(params *GetEmoteSetsParams) (*GetEmoteSetsResponse, error)
GetEmoteSets
func (*Client) GetEntitlementCodeStatus ¶ added in v1.31.0
func (c *Client) GetEntitlementCodeStatus(params *CodesParams) (*CodeResponse, error)
GetEntitlementCodeStatus Per https://dev.twitch.tv/docs/api/reference#get-code-status Access is controlled via an app access token on the calling service. The client ID associated with the app access token must be approved by Twitch as part of a contracted arrangement. Callers with an app access token are authorized to redeem codes on behalf of any Twitch user account.
func (*Client) GetEventSubSubscriptions ¶ added in v1.31.0
func (c *Client) GetEventSubSubscriptions(params *EventSubSubscriptionsParams) (*EventSubSubscriptionsResponse, error)
Get all EventSub Subscriptions
func (*Client) GetExtensionAnalytics ¶ added in v0.4.0
func (c *Client) GetExtensionAnalytics(params *ExtensionAnalyticsParams) (*ExtensionAnalyticsResponse, error)
GetExtensionAnalytics returns a URL to the downloadable CSV file containing analytics data. Valid for 5 minutes.
func (*Client) GetExtensionConfigurationSegment ¶ added in v1.32.0
func (c *Client) GetExtensionConfigurationSegment(params *ExtensionGetConfigurationParams) (*ExtensionGetConfigurationSegmentResponse, error)
func (*Client) GetExtensionLiveChannels ¶ added in v1.33.4
func (c *Client) GetExtensionLiveChannels(params *ExtensionLiveChannelsParams) (*ExtensionLiveChannelsResponse, error)
func (*Client) GetExtensionSecrets ¶ added in v1.32.4
func (c *Client) GetExtensionSecrets(params *GetExtensionSecretParams) (*GetExtensionSecretResponse, error)
func (*Client) GetExtensionSignedJWTToken ¶ added in v1.32.0
GetAppAccessToken returns the current app access token.
func (*Client) GetExtensionTransactions ¶ added in v1.31.0
func (c *Client) GetExtensionTransactions(params *ExtensionTransactionsParams) (*ExtensionTransactionsResponse, error)
GetExtensionTransactions allows extension back end servers to fetch a list of transactions that have occurred for their extension across all of Twitch. A transaction is a record of a user exchanging Bits for an in-Extension digital good.
See https://dev.twitch.tv/docs/api/reference/#get-extension-transactions
func (*Client) GetFollowedChannels ¶ added in v1.42.4
func (c *Client) GetFollowedChannels(params *GetFollowedChannelParams) (*GetFollowedChannelResponse, error)
GetFollowedChannels Gets a list of broadcasters that the specified user follows. You can also use this endpoint to see whether a user follows a specific broadcaster. requires user:read:follows
func (*Client) GetFollowedStream ¶ added in v1.31.0
func (c *Client) GetFollowedStream(params *FollowedStreamsParams) (*StreamsResponse, error)
GetFollowedStream : Gets information about active streams belonging to channels that the authenticated user follows. Streams are returned sorted by number of current viewers, in descending order. Across multiple pages of results, there may be duplicate or missing streams, as viewers join and leave streams.
Required scope: user:read:follows
func (*Client) GetGameAnalytics ¶
func (c *Client) GetGameAnalytics(params *GameAnalyticsParams) (*GameAnalyticsResponse, error)
GetGameAnalytics returns a URL to the downloadable CSV file containing analytics data for the specified game. Valid for 5 minutes.
func (*Client) GetGames ¶
func (c *Client) GetGames(params *GamesParams) (*GamesResponse, error)
func (*Client) GetGlobalChatBadges ¶ added in v1.31.0
func (c *Client) GetGlobalChatBadges() (*GetChatBadgeResponse, error)
func (*Client) GetGlobalEmotes ¶ added in v1.31.0
func (c *Client) GetGlobalEmotes() (*GetChannelEmotesResponse, error)
func (*Client) GetHypeTrainEvents ¶ added in v1.32.0
func (c *Client) GetHypeTrainEvents(params *HypeTrainEventsParams) (*HypeTrainEventsResponse, error)
Required scope: channel:read:hype_train
func (*Client) GetModeratedChannels ¶ added in v1.53.1
func (c *Client) GetModeratedChannels(params *GetModeratedChannelsParams) (*GetModeratedChannelsResponse, error)
GetModeratedChannels Gets a list of channels that the specified user has moderator privileges in. Required scope: user:read:moderated_channels
func (*Client) GetModerators ¶ added in v1.41.7
func (c *Client) GetModerators(params *GetModeratorsParams) (*ModeratorsResponse, error)
GetModerators Gets all users allowed to moderate the broadcaster’s chat room. Required scope: moderation:read
func (*Client) GetPolls ¶ added in v1.31.0
func (c *Client) GetPolls(params *PollsParams) (*PollsResponse, error)
Required scope: channel:read:polls
func (*Client) GetPredictions ¶ added in v1.31.0
func (c *Client) GetPredictions(params *PredictionsParams) (*PredictionsResponse, error)
Required scope: channel:read:predictions
func (*Client) GetRefreshToken ¶ added in v1.50.0
GetRefreshToken returns the current refresh token.
func (*Client) GetSchedule ¶ added in v1.50.0
func (c *Client) GetSchedule(params *GetScheduleParams) (*GetScheduleResponse, error)
Gets the broadcaster’s streaming schedule. You can get the entire schedule or specific segments of the schedule
func (*Client) GetStreamKey ¶ added in v1.33.8
func (c *Client) GetStreamKey(params *StreamKeyParams) (*StreamKeysResponse, error)
GetStreamKey : Returns the secret stream key of the broadcaster
Required scope: channel:read:stream_key
func (*Client) GetStreamMarkers ¶ added in v0.4.1
func (c *Client) GetStreamMarkers(params *StreamMarkersParams) (*StreamMarkersResponse, error)
GetStreamMarkers gets stream markers of a VOD or of the current live stream of an user being recorded as VOD.
Required Scope: user:read:broadcast
func (*Client) GetStreams ¶
func (c *Client) GetStreams(params *StreamsParams) (*StreamsResponse, error)
GetStreams returns a list of live channels based on the search parameters. To query offline channels, use SearchChannels.
func (*Client) GetSubscriptions ¶ added in v0.5.3
func (c *Client) GetSubscriptions(params *SubscriptionsParams) (*SubscriptionsResponse, error)
GetSubscriptions gets subscriptions about one Twitch broadcaster. Broadcasters can only request their own subscriptions.
Required scope: channel:read:subscriptions
func (*Client) GetTopGames ¶
func (c *Client) GetTopGames(params *TopGamesParams) (*TopGamesResponse, error)
func (*Client) GetUserAccessToken ¶
GetUserAccessToken returns the current user access token.
func (*Client) GetUserActiveExtensions ¶ added in v0.5.6
func (c *Client) GetUserActiveExtensions(params *UserActiveExtensionsParams) (*UserActiveExtensionsResponse, error)
GetUserActiveExtensions Gets information about active extensions installed by a specified user, identified by a user ID or Bearer token.
Optional scope: user:read:broadcast or user:edit:broadcast
func (*Client) GetUserChatColor ¶ added in v1.42.7
func (c *Client) GetUserChatColor(params *GetUserChatColorParams) (*UserChatColorResponse, error)
GetUserChatColor fetches the color used for the user’s name in chat.
func (*Client) GetUserExtensions ¶ added in v0.5.6
func (c *Client) GetUserExtensions() (*UserExtensionsResponse, error)
GetUserExtensions gets a list of all extensions (both active and inactive) for a specified user, identified by a Bearer token
Required scope: user:read:broadcast
func (*Client) GetUsers ¶
func (c *Client) GetUsers(params *UsersParams) (*UsersResponse, error)
GetUsers gets information about one or more specified Twitch users. Users are identified by optional user IDs and/or login name. If neither a user ID nor a login name is specified, the user is looked up by Bearer token.
Optional scope: user:read:email
func (*Client) GetUsersBlocked ¶ added in v1.31.0
func (c *Client) GetUsersBlocked(params *UsersBlockedParams) (*UsersBlockedResponse, error)
GetUsersBlocked : Gets a specified user’s block list.
Required scope: user:read:blocked_users
func (*Client) GetUsersFollows ¶
func (c *Client) GetUsersFollows(params *UsersFollowsParams) (*UsersFollowsResponse, error)
GetUsersFollows gets information on follow relationships between two Twitch users. Information returned is sorted in order, most recent follow first. This can return information like “who is lirik following,” “who is following lirik,” or “is user X following user Y.”
func (*Client) GetVideos ¶
func (c *Client) GetVideos(params *VideosParams) (*VideosResponse, error)
GetVideos gets video information by video ID (one or more), user ID (one only), or game ID (one only).
func (*Client) GetWebhookSubscriptions ¶ added in v0.3.1
func (c *Client) GetWebhookSubscriptions(params *WebhookSubscriptionsParams) (*WebhookSubscriptionsResponse, error)
GetWebhookSubscriptions gets webhook subscriptions, in order of expiration. Requires an app access token.
func (*Client) ModerateHeldMessage ¶ added in v1.31.0
func (c *Client) ModerateHeldMessage(params *HeldMessageModerationParams) (*HeldMessageModerationResponse, error)
Required scope: moderator:manage:automod
func (*Client) OnUserAccessTokenRefreshed ¶ added in v1.50.0
func (*Client) PostWebhookSubscription ¶ added in v0.4.2
func (c *Client) PostWebhookSubscription(payload *WebhookSubscriptionPayload) (*WebhookSubscriptionResponse, error)
func (*Client) RedeemEntitlementCode ¶ added in v1.31.0
func (c *Client) RedeemEntitlementCode(params *CodesParams) (*CodeResponse, error)
RedeemEntitlementCode Per https://dev.twitch.tv/docs/api/reference/#redeem-code Access is controlled via an app access token on the calling service. The client ID associated with the app access token must be approved by Twitch. Callers with an app access token are authorized to redeem codes on behalf of any Twitch user account.
func (*Client) RefreshUserAccessToken ¶
func (c *Client) RefreshUserAccessToken(refreshToken string) (*RefreshTokenResponse, error)
RefreshUserAccessToken submits a request to have the longevity of an access token extended. Twitch OAuth2 access tokens have expirations. Token-expiration periods vary in length. You should build your applications in such a way that they are resilient to token authentication failures.
func (*Client) RemoveBlockedTerm ¶ added in v1.41.6
func (c *Client) RemoveBlockedTerm(params *RemoveBlockedTermParams) (*RemoveBlockedTermResponse, error)
RemoveBlockedTerm Removes the word or phrase that the broadcaster is blocking users from using in their chat room. Required scope: moderator:manage:blocked_terms
func (*Client) RemoveChannelModerator ¶ added in v1.50.0
func (c *Client) RemoveChannelModerator(params *RemoveChannelModeratorParams) (*RemoveChannelModeratorResponse, error)
func (*Client) RemoveChannelVip ¶ added in v1.42.7
func (c *Client) RemoveChannelVip(params *RemoveChannelVipParams) (*RemoveChannelVipResponse, error)
RemoveChannelVip : Removes the specified user as a VIP in the broadcaster’s channel. Required scope: channel:manage:vips Rate Limits: The broadcaster may remove a maximum of 10 VIPs within a 10-second window.
func (*Client) RemoveEventSubSubscription ¶ added in v1.31.0
func (c *Client) RemoveEventSubSubscription(id string) (*RemoveEventSubSubscriptionParamsResponse, error)
Remove an EventSub Subscription
func (*Client) RequestAppAccessToken ¶ added in v1.31.0
func (c *Client) RequestAppAccessToken(scopes []string) (*AppAccessTokenResponse, error)
func (*Client) RequestUserAccessToken ¶ added in v1.31.0
func (c *Client) RequestUserAccessToken(code string) (*UserAccessTokenResponse, error)
func (*Client) RevokeUserAccessToken ¶
func (c *Client) RevokeUserAccessToken(accessToken string) (*RevokeAccessTokenResponse, error)
RevokeUserAccessToken submits a request to Twitch to have an access token revoked.
Both successful requests and requests with bad tokens return 200 OK with no body. Requests with bad tokens return the same response, as there is no meaningful action a client can take after sending a bad token.
func (*Client) SearchCategories ¶ added in v1.42.7
func (c *Client) SearchCategories(params *SearchCategoriesParams) (*SearchCategoriesResponse, error)
SearchCategories searches for Twitch categories based on the given search query
func (*Client) SearchChannels ¶ added in v0.6.0
func (c *Client) SearchChannels(params *SearchChannelsParams) (*SearchChannelsResponse, error)
SearchChannels searches for Twitch channels based on the given search parameters. Unlike GetStreams, this can also return offline channels.
func (*Client) SendChatAnnouncement ¶ added in v1.33.8
func (c *Client) SendChatAnnouncement(params *SendChatAnnouncementParams) (*SendChatAnnouncementResponse, error)
SendChatAnnouncement sends an announcement to the broadcaster’s chat room. Required scope: moderator:manage:announcements
func (*Client) SendChatMessage ¶ added in v1.53.1
func (c *Client) SendChatMessage(params *SendChatMessageParams) (*ChatMessageResponse, error)
Requires an app access token or user access token that includes the user:write:chat scope. If app access token used, then additionally requires user:bot scope from chatting user, and either channel:bot scope from broadcaster or moderator status
func (*Client) SendExtensionChatMessage ¶ added in v1.32.0
func (c *Client) SendExtensionChatMessage(params *ExtensionSendChatMessageParams) (*ExtensionSendChatMessageResponse, error)
SendExtensionChatMessage Sends a specified chat message to a specified channel. The message will appear in the channel’s chat as a normal message, The author of the message is the Extension name.
see https://dev.twitch.tv/docs/api/reference#send-extension-chat-message
func (*Client) SendExtensionPubSubMessage ¶ added in v1.32.0
func (c *Client) SendExtensionPubSubMessage(params *ExtensionSendPubSubMessageParams) (*ExtensionSendPubSubMessageResponse, error)
func (*Client) SendModeratorWarnMessage ¶ added in v1.53.2
func (c *Client) SendModeratorWarnMessage(params *SendModeratorWarnChatMessageParams) (*SendModeratorWarnChatResponse, error)
SendModeratorWarnMessage Sends a warning message to a user in the broadcaster’s chat. Required moderator:manage:warnings
func (*Client) SendShoutout ¶ added in v1.41.8
func (c *Client) SendShoutout(params *SendShoutoutParams) (*SendShoutoutResponse, error)
SendShoutout sends a Shoutout to the specified broadcaster. Required scope: moderator:manage:shoutouts The broadcaster may send a Shoutout once every 2 minutes. They may send the same broadcaster a Shoutout once every 60 minutes.
func (*Client) SendUserWhisper ¶ added in v1.41.7
func (c *Client) SendUserWhisper(params *SendUserWhisperParams) (*SendUserWhisperResponse, error)
SendUserWhisper Requires user access token with user:manage:whispers scope. The user sending the whisper must have a verified phone number. The API may silently drop whispers that it suspects of violating Twitch policies 204 still returned. You may whisper to a maximum of 40 unique recipients per day. Within the per day limit. You may whisper a maximum of 3 whispers per second and a maximum of 100 whispers per minute. Message character limit:
- Max 500 chars to new recipient
- Max 10,000 if recurring recipient,
- > 10,000 chars are truncated.
func (*Client) SetAppAccessToken ¶
func (*Client) SetExtensionRequiredConfiguration ¶ added in v1.32.0
func (c *Client) SetExtensionRequiredConfiguration(params *ExtensionSetRequiredConfigurationParams) (*ExtensionSetRequiredConfigurationResponse, error)
func (*Client) SetExtensionSegmentConfig ¶ added in v1.32.0
func (c *Client) SetExtensionSegmentConfig(params *ExtensionSetConfigurationParams) (*ExtensionSetConfigurationResponse, error)
https://dev.twitch.tv/docs/extensions/reference/#set-extension-configuration-segment
func (*Client) SetExtensionSignedJWTToken ¶ added in v1.32.0
func (*Client) SetRedirectURI ¶
func (*Client) SetRefreshToken ¶ added in v1.50.0
func (*Client) SetUserAccessToken ¶
func (*Client) SetUserAgent ¶
func (*Client) StartCommercial ¶ added in v1.31.0
func (c *Client) StartCommercial(params *StartCommercialParams) (*StartCommercialResponse, error)
StartCommercial starts a commercial on a specified channel OAuth Token required Requires channel:edit:commercial scope
func (*Client) StartRaid ¶ added in v1.42.7
func (c *Client) StartRaid(params *StartRaidParams) (*RaidResponse, error)
StartRaid raids another channel by sending the broadcaster’s viewers to the targeted channel. When called, the Twitch UX pops up a window at the top of the chat room that identifies the number of viewers in the raid. The raid occurs when the broadcaster clicks Raid Now or after the 90-second countdown expires. Required scope: channel:manage:raids Rate limit: 10 requests within a 10-minute window.
func (*Client) UnbanUser ¶ added in v1.41.6
func (c *Client) UnbanUser(params *UnbanUserParams) (*UnbanUserResponse, error)
UnbanUser Removes the ban or timeout that was placed on the specified user Required scope: moderator:manage:banned_users
func (*Client) UnblockUser ¶ added in v1.31.0
func (c *Client) UnblockUser(params *UnblockUserParams) (*BlockUserResponse, error)
UnblockUser : Unblocks the specified user on behalf of the authenticated user.
Required scope: user:manage:blocked_users
func (*Client) UpdateChannelCustomRewardsRedemptionStatus ¶ added in v1.50.0
func (c *Client) UpdateChannelCustomRewardsRedemptionStatus(params *UpdateChannelCustomRewardsRedemptionStatusParams) (*ChannelCustomRewardsRedemptionResponse, error)
UpdateChannelCustomRewardsRedemptionStatus : Update a Custom Reward Redemption status on a channel. Required scope: channel:manage:redemptions
func (*Client) UpdateChatSettings ¶ added in v1.42.7
func (c *Client) UpdateChatSettings(params *UpdateChatSettingsParams) (*UpdateChatSettingsResponse, error)
UpdateChatSettings updates the broadcaster's chat settings. Required scope: moderator:manage:chat_settings
func (*Client) UpdateCustomReward ¶ added in v1.41.7
func (c *Client) UpdateCustomReward(params *UpdateChannelCustomRewardsParams) (*ChannelCustomRewardResponse, error)
UpdateCustomReward : Update a Custom Reward on a channel. Required scope: channel:manage:redemptions
func (*Client) UpdateDropsEntitlements ¶ added in v1.33.2
func (c *Client) UpdateDropsEntitlements(params *UpdateDropsEntitlementsParams) (*UpdateDropsEntitlementsResponse, error)
UpdateDropsEntitlements updates the fulfillment status of a set of entitlements, owned by the authenticated user or your organization. It returns a list of the entitlement ids requested, grouped by a status code used to indicate partial success. "SUCCESS" means the entitlement was successfully updated, "INVALID_ID" means invalid format for the entitlement, "NOT_FOUND" means the entitlement was not found, "UNAUTHORIZED" means entitlement is not owned by the organization or the user when called with a user OAuth token and "UPDATE_FAILED" indicates a possible transient error and the operation should be retried again later. Entitlements are digital items that users are entitled to use. Twitch entitlements are granted based on viewership engagement with a content creator, based on the game developers' campaign.
func (*Client) UpdateSchedule ¶ added in v1.50.0
func (c *Client) UpdateSchedule(params *UpdateScheduleParams) (*UpdateScheduleResponse, error)
Updates the broadcaster’s schedule settings, such as scheduling a vacation
func (*Client) UpdateScheduleSegment ¶ added in v1.50.0
func (c *Client) UpdateScheduleSegment(params *UpdateScheduleSegmentParams) (*UpdateScheduleSegmentResponse, error)
Updates the broadcaster’s schedule settings, such as scheduling a vacation
func (*Client) UpdateUser ¶
func (c *Client) UpdateUser(params *UpdateUserParams) (*UsersResponse, error)
UpdateUser updates the description of a user specified by a Bearer token.
Required scope: user:edit
func (*Client) UpdateUserChatColor ¶ added in v1.42.7
func (c *Client) UpdateUserChatColor(params *UpdateUserChatColorParams) (*UpdateUserChatColorResponse, error)
UpdateUserChatcolor updates the color used for the user’s name in chat.
Required scope: user:manage:chat_color
Prime and Turbo users can specify a Hex color code, everyone can use the default colors:
- blue
- blue_violet
- cadet_blue
- chocolate
- coral
- dodger_blue
- firebrick
- golden_rod
- green
- hot_pink
- orange_red
- red
- sea_green
- spring_green
- yellow_green
func (*Client) UpdateUserExtensions ¶ added in v0.5.7
func (c *Client) UpdateUserExtensions(payload *UpdateUserExtensionsPayload) (*UserActiveExtensionsResponse, error)
UpdateUserExtensions Updates the activation state, extension ID, and/or version number of installed extensions for a specified user, identified by a Bearer token. If you try to activate a given extension under multiple extension types, the last write wins (and there is no guarantee of write order).
Required scope: user:edit:broadcast
func (*Client) ValidateToken ¶ added in v0.5.9
func (c *Client) ValidateToken(accessToken string) (bool, *ValidateTokenResponse, error)
ValidateToken - Validate access token
type Clip ¶
type Clip struct { ID string `json:"id"` URL string `json:"url"` EmbedURL string `json:"embed_url"` BroadcasterID string `json:"broadcaster_id"` BroadcasterName string `json:"broadcaster_name"` CreatorID string `json:"creator_id"` CreatorName string `json:"creator_name"` Duration float64 `json:"duration"` VideoID string `json:"video_id"` GameID string `json:"game_id"` Language string `json:"language"` Title string `json:"title"` ViewCount int `json:"view_count"` CreatedAt string `json:"created_at"` ThumbnailURL string `json:"thumbnail_url"` VodOffset int `json:"vod_offset"` }
type ClipEditURL ¶
type ClipsParams ¶
type ClipsParams struct { // One of the below BroadcasterID string `query:"broadcaster_id"` GameID string `query:"game_id"` IDs []string `query:"id"` // Limit 100 // Optional First int `query:"first,20"` // Maximum 100 After string `query:"after"` Before string `query:"before"` StartedAt Time `query:"started_at"` EndedAt Time `query:"ended_at"` }
type ClipsResponse ¶
type ClipsResponse struct { ResponseCommon Data ManyClips }
type CodeResponse ¶ added in v1.31.0
type CodeResponse struct { ResponseCommon Data ManyCodes }
type CodeStatus ¶ added in v1.31.0
type CodeStatus struct { Code string `json:"code"` Status EntitlementCodeStatus `json:"status"` }
type CodesParams ¶ added in v1.31.0
type CreateClipParams ¶ added in v0.5.0
type CreateClipResponse ¶
type CreateClipResponse struct { ResponseCommon Data ManyClipEditURLs }
func (*CreateClipResponse) GetClipsCreationRateLimit ¶ added in v0.3.0
func (ccr *CreateClipResponse) GetClipsCreationRateLimit() int
GetClipsCreationRateLimit returns the "Ratelimit-Helixclipscreation-Limit" header as an int.
func (*CreateClipResponse) GetClipsCreationRateLimitRemaining ¶ added in v0.3.0
func (ccr *CreateClipResponse) GetClipsCreationRateLimitRemaining() int
GetClipsCreationRateLimitRemaining returns the "Ratelimit-Helixclipscreation-Remaining" header as an int.
type CreatePollParams ¶ added in v1.31.0
type CreatePollParams struct { BroadcasterID string `json:"broadcaster_id"` Title string `json:"title"` // Maximum: 60 characters. Choices []PollChoiceParam `json:"choices"` // Minimum: 2 choices. Maximum: 5 choices. Duration int `json:"duration"` // Minimum: 15. Maximum: 1800. BitsVotingEnabled bool `json:"bits_voting_enabled"` // Default: false BitsPerVote int `json:"bits_per_vote"` // Minimum: 0. Maximum: 10000. ChannelPointsVotingEnabled bool `json:"channel_points_voting_enabled"` // Default: false ChannelPointsPerVote int `json:"channel_points_per_vote"` // Minimum: 0. Maximum: 1000000. }
type CreatePredictionParams ¶ added in v1.31.0
type CreatePredictionParams struct { BroadcasterID string `json:"broadcaster_id"` Title string `json:"title"` // Maximum: 45 characters. Outcomes []PredictionChoiceParam `json:"outcomes"` // 2 choices mandatory PredictionWindow int `json:"prediction_window"` // Minimum: 1. Maximum: 1800. }
type CreateScheduleSegmentData ¶ added in v1.50.0
type CreateScheduleSegmentData struct {
Schedule ScheduleData `json:"data"`
}
type CreateScheduleSegmentParams ¶ added in v1.50.0
type CreateScheduleSegmentResponse ¶ added in v1.50.0
type CreateScheduleSegmentResponse struct { ResponseCommon Data CreateScheduleSegmentData }
type CreateStreamMarker ¶ added in v0.4.2
type CreateStreamMarkerParams ¶ added in v0.4.2
type CreateStreamMarkerResponse ¶ added in v0.4.2
type CreateStreamMarkerResponse struct { ResponseCommon Data ManyCreateStreamMarkers }
type CreatorGoalsResponse ¶ added in v1.33.3
type CreatorGoalsResponse struct { ResponseCommon Data ManyGoals }
type DeleteAllChatMessagesParams ¶ added in v1.41.7
type DeleteAllChatMessagesResponse ¶ added in v1.41.7
type DeleteAllChatMessagesResponse struct {
ResponseCommon
}
type DeleteChatMessageParams ¶ added in v1.41.7
type DeleteChatMessageResponse ¶ added in v1.41.7
type DeleteChatMessageResponse struct {
ResponseCommon
}
type DeleteCustomRewardsParams ¶ added in v1.31.0
type DeleteCustomRewardsResponse ¶ added in v1.31.0
type DeleteCustomRewardsResponse struct {
ResponseCommon
}
Response for removing a custom reward
type DeleteScheduleSegmentParams ¶ added in v1.50.0
type DeleteScheduleSegmentResponse ¶ added in v1.50.0
type DeleteScheduleSegmentResponse struct {
ResponseCommon
}
type DeleteVideosParams ¶ added in v1.31.0
type DeleteVideosParams struct {
IDs []string `query:"id"` // Limit 5
}
type DeleteVideosResponse ¶ added in v1.31.0
type DeleteVideosResponse struct {
ResponseCommon
}
type DropReason ¶ added in v1.53.1
type EditChannelInformationParams ¶ added in v1.31.0
type EditChannelInformationParams struct { BroadcasterID string `query:"broadcaster_id" json:"-"` GameID string `json:"game_id,omitempty"` BroadcasterLanguage string `json:"broadcaster_language,omitempty"` Title string `json:"title,omitempty"` Delay int `json:"delay,omitempty"` Tags []string `json:"tags,omitempty"` }
type EditChannelInformationResponse ¶ added in v1.31.0
type EditChannelInformationResponse struct {
ResponseCommon
}
type EmoteImage ¶ added in v1.31.0
type EmoteWithOwner ¶ added in v1.31.0
type EndPollParams ¶ added in v1.31.0
type EndPredictionParams ¶ added in v1.31.0
type Entitlement ¶ added in v1.31.0
type Entitlement struct { ID string `json:"id"` BenefitID string `json:"benefit_id"` Timestamp Time `json:"timestamp"` UserID string `json:"user_id"` GameID string `json:"game_id"` FulfillmentStatus string `json:"fulfillment_status"` // Valid values "CLAIMED", "FULFILLED" UpdatedAt Time `json:"updated_at"` }
type EntitlementCodeStatus ¶ added in v1.31.0
type EntitlementCodeStatus string
type EntitlementsUploadResponse ¶
type EntitlementsUploadResponse struct { ResponseCommon Data ManyEntitlementsUploadURLs }
type EntitlementsUploadURL ¶
type EntitlementsUploadURL struct {
URL string `json:"url"`
}
type EventSubBitVoting ¶ added in v1.31.0
type EventSubChannelBanEvent ¶ added in v1.31.0
type EventSubChannelBanEvent struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` ModeratorUserID string `json:"moderator_user_id"` ModeratorUserLogin string `json:"moderator_user_login"` ModeratorUserName string `json:"moderator_user_name"` Reason string `json:"reason"` EndsAt Time `json:"ends_at"` IsPermanent bool `json:"is_permanent"` }
Data for a channel ban notification
type EventSubChannelChatClearEvent ¶ added in v1.53.1
type EventSubChannelChatClearEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` }
Data for a chat clear event
type EventSubChannelChatClearUserMessagesEvent ¶ added in v1.53.1
type EventSubChannelChatClearUserMessagesEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` TargetUserID string `json:"target_user_id"` TargetUserLogin string `json:"target_user_login"` TargetUserName string `json:"target_user_name"` }
Data for a chat clear user messages event
type EventSubChannelChatMessageDeleteEvent ¶ added in v1.53.1
type EventSubChannelChatMessageDeleteEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` TargetUserID string `json:"target_user_id"` TargetUserLogin string `json:"target_user_login"` TargetUserName string `json:"target_user_name"` MessageID string `json:"message_id"` }
Data for a chat message delete event
type EventSubChannelChatMessageEvent ¶ added in v1.53.1
type EventSubChannelChatMessageEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` ChatterUserID string `json:"chatter_user_id"` ChatterUserLogin string `json:"chatter_user_login"` ChatterUserName string `json:"chatter_user_name"` MessageID string `json:"message_id"` Message EventSubChatMessage `json:"message"` MessageType EventSubChatMessageType `json:"message_type"` Badges []EventSubChatBadge `json:"badges"` Cheer EventSubChatMessageCheer `json:"cheer"` Color string `json:"color"` Reply EventSubChatMessageReply `json:"reply"` ChannelPointsCustomRewardID string `json:"channel_points_custom_reward_id"` }
Data for a chat message
type EventSubChannelChatNotificationAnnouncement ¶ added in v1.53.1
type EventSubChannelChatNotificationAnnouncement struct {
Color string `json:"color"`
}
type EventSubChannelChatNotificationBitsBadgeTier ¶ added in v1.53.1
type EventSubChannelChatNotificationBitsBadgeTier struct {
Tier int64 `json:"tier"`
}
type EventSubChannelChatNotificationCharityDonation ¶ added in v1.53.1
type EventSubChannelChatNotificationCharityDonation struct { CharityName string `json:"charity_name"` Amount EventSubChannelChatNotificationCharityDonationAmount `json:"amount"` }
type EventSubChannelChatNotificationCharityDonationAmount ¶ added in v1.53.1
type EventSubChannelChatNotificationCommunitySubGift ¶ added in v1.53.1
type EventSubChannelChatNotificationEvent ¶ added in v1.53.1
type EventSubChannelChatNotificationEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` ChatterUserID string `json:"chatter_user_id"` ChatterUserLogin string `json:"chatter_user_login"` ChatterUserName string `json:"chatter_user_name"` ChatterIsAnonymous bool `json:"chatter_is_anonymous"` Color string `json:"color"` Badges []EventSubChatBadge `json:"badges"` SystemMessage string `json:"system_message"` MessageID string `json:"message_id"` Message EventSubChatNotificationMessage `json:"message"` NoticeType EventSubChannelChatNotificationType `json:"notice_type"` Sub EventSubChannelChatNotificationSub `json:"sub"` Resub EventSubChannelChatNotificationResub `json:"resub"` SubGift EventSubChannelChatNotificationSubGift `json:"sub_gift"` CommunitySubGift EventSubChannelChatNotificationCommunitySubGift `json:"community_sub_gift"` GiftPaidUpgrade EventSubChannelChatNotificationGiftPaidUpgrade `json:"gift_paid_upgrade"` PrimePaidUpgrade EventSubChannelChatNotificationPrimePaidUpgrade `json:"prime_paid_upgrade"` Raid EventSubChannelChatNotificationRaid `json:"raid"` Unraid EventSubChannelChatNotificationUnraid `json:"unraid"` PayItForward EventSubChannelChatNotificationPayItForward `json:"pay_it_forward"` Announcement EventSubChannelChatNotificationAnnouncement `json:"announcement"` CharityDonation EventSubChannelChatNotificationCharityDonation `json:"charity_donation"` BitsBadgeTier EventSubChannelChatNotificationBitsBadgeTier `json:"bits_badge_tier"` }
Data for a chat notification event
type EventSubChannelChatNotificationGiftPaidUpgrade ¶ added in v1.53.1
type EventSubChannelChatNotificationPayItForward ¶ added in v1.53.1
type EventSubChannelChatNotificationPrimePaidUpgrade ¶ added in v1.53.1
type EventSubChannelChatNotificationPrimePaidUpgrade struct {
SubTier string `json:"sub_tier"`
}
type EventSubChannelChatNotificationRaid ¶ added in v1.53.1
type EventSubChannelChatNotificationResub ¶ added in v1.53.1
type EventSubChannelChatNotificationResub struct { CumulativeMonths int `json:"cumulative_months"` DurationMonths int `json:"duration_months"` StreakMonths int `json:"streak_months"` SubTier string `json:"sub_tier"` IsPrime bool `json:"is_prime"` IsGift bool `json:"is_gift"` GifterIsAnonymous bool `json:"gifter_is_anonymous"` GifterUserID string `json:"gifter_user_id"` GifterUserLogin string `json:"gifter_user_login"` GifterUserName string `json:"gifter_user_name"` }
type EventSubChannelChatNotificationSub ¶ added in v1.53.1
type EventSubChannelChatNotificationSubGift ¶ added in v1.53.1
type EventSubChannelChatNotificationSubGift struct { DurationMonths int `json:"duration_months"` CumulativeTotal int `json:"cumulative_total"` RecipientUserID string `json:"recipient_user_id"` RecipientUserLogin string `json:"recipient_user_login"` RecipientUserName string `json:"recipient_user_name"` SubTier string `json:"sub_tier"` CommunityGiftID string `json:"community_gift_id"` }
type EventSubChannelChatNotificationType ¶ added in v1.53.1
type EventSubChannelChatNotificationType string
const ( EventSubChannelNotificationSub EventSubChannelChatNotificationType = "sub" EventSubChannelNotificationResub EventSubChannelChatNotificationType = "resub" EventSubChannelNotificationSubGift EventSubChannelChatNotificationType = "sub_gift" EventSubChannelNotificationCommunitySubGift EventSubChannelChatNotificationType = "community_sub_gift" EventSubChannelNotificationGiftPaidUpgrade EventSubChannelChatNotificationType = "gift_paid_upgrade" EventSubChannelNotificationPrimePaidUpgrade EventSubChannelChatNotificationType = "prime_paid_upgrade" EventSubChannelNotificationRaid EventSubChannelChatNotificationType = "raid" EventSubChannelNotificationUnraid EventSubChannelChatNotificationType = "unraid" EventSubChannelNotificationPayItForward EventSubChannelChatNotificationType = "pay_it_forward" EventSubChannelNotificationAnnouncement EventSubChannelChatNotificationType = "announcement" EventSubChannelNotificationBitsBadgeTier EventSubChannelChatNotificationType = "bits_badge_tier" EventSubChannelNotificationCharityDonation EventSubChannelChatNotificationType = "charity_donation" )
type EventSubChannelChatNotificationUnraid ¶ added in v1.53.1
type EventSubChannelChatNotificationUnraid struct{}
type EventSubChannelCheerEvent ¶ added in v1.31.0
type EventSubChannelCheerEvent struct { IsAnonymous bool `json:"is_anonymous"` UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Message string `json:"message"` Bits int `json:"bits"` }
Data for a channel cheer notification
type EventSubChannelFollowEvent ¶ added in v1.31.0
type EventSubChannelFollowEvent struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` FollowedAt Time `json:"followed_at"` }
Data for a channel follow notification
type EventSubChannelGoalEndEvent ¶ added in v1.33.3
type EventSubChannelGoalEndEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserName string `json:"broadcaster_user_name"` BroadcasterUserLogin string `json:"broadcaster_user_login"` Type string `json:"type"` Description string `json:"description"` IsAchieved bool `json:"is_achieved"` CurrentAmount int `json:"current_amount"` TargetAmount int `json:"target_amount"` StartedAt Time `json:"started_at"` EndedAt Time `json:"ended_at"` }
type EventSubChannelGoalProgressEvent ¶ added in v1.33.3
type EventSubChannelGoalProgressEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserName string `json:"broadcaster_user_name"` BroadcasterUserLogin string `json:"broadcaster_user_login"` Type string `json:"type"` Description string `json:"description"` CurrentAmount int `json:"current_amount"` TargetAmount int `json:"target_amount"` StartedAt Time `json:"started_at"` }
type EventSubChannelGoalStartEvent ¶ added in v1.33.3
type EventSubChannelGoalStartEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserName string `json:"broadcaster_user_name"` BroadcasterUserLogin string `json:"broadcaster_user_login"` Type string `json:"type"` Description string `json:"description"` CurrentAmount int `json:"current_amount"` TargetAmount int `json:"target_amount"` StartedAt Time `json:"started_at"` }
type EventSubChannelPointsCustomRewardEvent ¶ added in v1.31.0
type EventSubChannelPointsCustomRewardEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` IsEnabled bool `json:"is_enabled"` IsPaused bool `json:"is_paused"` IsInStock bool `json:"is_in_stock"` Title string `json:"title"` Cost int `json:"cost"` Prompt string `json:"prompt"` IsUserInputRequired bool `json:"is_user_input_required"` ShouldRedemptionsSkipRequestQueue bool `json:"should_redemptions_skip_request_queue"` MaxPerStream EventSubMaxPerStream `json:"max_per_stream"` MaxPerUserPerStream EventSubMaxPerStream `json:"max_per_user_per_stream"` BackgroundColor string `json:"background_color"` Image EventSubImage `json:"image"` DefaultImage EventSubImage `json:"default_image"` GlobalCooldown EventSubGlobalCooldown `json:"global_cooldown"` CooldownExpiresAt Time `json:"cooldown_expires_at"` RedemptionsRedeemedCurrentStream int `json:"redemptions_redeemed_current_stream"` }
Data for a channel points custom reward notification
type EventSubChannelPointsCustomRewardRedemptionEvent ¶ added in v1.31.0
type EventSubChannelPointsCustomRewardRedemptionEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` UserInput string `json:"user_input"` Status string `json:"status"` Reward EventSubReward `json:"reward"` RedeemedAt Time `json:"redeemed_at"` }
Data for a channel points custom reward redemption notification
type EventSubChannelPointsVoting ¶ added in v1.31.0
type EventSubChannelPointsVoting = EventSubBitVoting
type EventSubChannelPollBeginEvent ¶ added in v1.31.0
type EventSubChannelPollBeginEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Title string `json:"title"` Choices []PollChoice `json:"choices"` BitsVoting EventSubBitVoting `json:"bits_voting"` ChannelPointsVoting EventSubChannelPointsVoting `json:"channel_points_voting"` StartedAt Time `json:"started_at"` EndsAt Time `json:"ends_at"` }
Data for a channel poll begin event
type EventSubChannelPollEndEvent ¶ added in v1.31.0
type EventSubChannelPollEndEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Title string `json:"title"` Choices []PollChoice `json:"choices"` BitsVoting EventSubBitVoting `json:"bits_voting"` ChannelPointsVoting EventSubChannelPointsVoting `json:"channel_points_voting"` Status string `json:"status"` StartedAt Time `json:"started_at"` EndedAt Time `json:"ended_at"` }
Data for a channel poll end event
type EventSubChannelPollProgressEvent ¶ added in v1.31.0
type EventSubChannelPollProgressEvent = EventSubChannelPollBeginEvent
Data for a channel poll progress event, it's the same as the channel poll begin event
type EventSubChannelPredictionBeginEvent ¶ added in v1.31.0
type EventSubChannelPredictionBeginEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Title string `json:"title"` Outcomes []EventSubOutcome `json:"outcomes"` StartedAt Time `json:"started_at"` LocksAt Time `json:"locks_at"` }
Data for a channel prediction begin event
type EventSubChannelPredictionEndEvent ¶ added in v1.31.0
type EventSubChannelPredictionEndEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Title string `json:"title"` WinningOutcomeID string `json:"winning_outcome_id"` Outcomes []EventSubOutcome `json:"outcomes"` Status string `json:"status"` StartedAt Time `json:"started_at"` EndedAt Time `json:"ended_at"` }
Data for a channel prediction end event
type EventSubChannelPredictionLockEvent ¶ added in v1.31.0
type EventSubChannelPredictionLockEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Title string `json:"title"` WinningOutcomeID string `json:"winning_outcome_id"` Outcomes []EventSubOutcome `json:"outcomes"` Status string `json:"status"` StartedAt Time `json:"started_at"` LockedAt Time `json:"locked_at"` }
Data for a channel prediction lock event
type EventSubChannelPredictionProgressEvent ¶ added in v1.31.0
type EventSubChannelPredictionProgressEvent = EventSubChannelPredictionBeginEvent
Data for a channel prediction progress event
type EventSubChannelRaidEvent ¶ added in v1.31.0
type EventSubChannelRaidEvent struct { FromBroadcasterUserID string `json:"from_broadcaster_user_id"` FromBroadcasterUserLogin string `json:"from_broadcaster_user_login"` FromBroadcasterUserName string `json:"from_broadcaster_user_name"` ToBroadcasterUserID string `json:"to_broadcaster_user_id"` ToBroadcasterUserLogin string `json:"to_broadcaster_user_login"` ToBroadcasterUserName string `json:"to_broadcaster_user_name"` Viewers int `json:"viewers"` }
Data for a channel raid notification
type EventSubChannelSubscribeEvent ¶ added in v1.31.0
type EventSubChannelSubscribeEvent struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Tier string `json:"tier"` IsGift bool `json:"is_gift"` }
Data for a channel subscribe notification
type EventSubChannelSubscriptionGiftEvent ¶ added in v1.31.0
type EventSubChannelSubscriptionGiftEvent struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Total int `json:"total"` Tier string `json:"tier"` CumulativeTotal int `json:"cumulative_total"` IsAnonymous bool `json:"is_anonymous"` }
EventSubChannelSubscriptionGiftEvent
type EventSubChannelSubscriptionMessageEvent ¶ added in v1.31.0
type EventSubChannelSubscriptionMessageEvent struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Tier string `json:"tier"` Message EventSubMessage `json:"message"` CumulativeMonths int `json:"cumulative_months"` StreakMonths int `json:"streak_months"` DurationMonths int `json:"duration_months"` }
EventSubChannelSubscriptionMessageEvent
type EventSubChannelUnbanEvent ¶ added in v1.31.0
type EventSubChannelUnbanEvent struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` ModeratorUserID string `json:"moderator_user_id"` ModeratorUserLogin string `json:"moderator_user_login"` ModeratorUserName string `json:"moderator_user_name"` }
Data for a channel unban notification
type EventSubChannelUpdateEvent ¶ added in v1.31.0
type EventSubChannelUpdateEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Title string `json:"title"` Language string `json:"language"` CategoryID string `json:"category_id"` CategoryName string `json:"category_name"` IsMature bool `json:"is_mature"` }
Data for a channel update notification
type EventSubCharityAmount ¶ added in v1.41.1
type EventSubCharityDonationEvent ¶ added in v1.41.1
type EventSubCharityDonationEvent struct { DonationID string `json:"id"` CharityCampaignID string `json:"campaign_id"` CharityDescription string `json:"campaign_description"` CharityWebsite string `json:"campaign_website"` CharityName string `json:"charity_name"` CharityLogoURL string `json:"charity_logo"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserName string `json:"broadcaster_user_name"` BroadcasterUserLogin string `json:"broadcaster_user_login"` UserID string `json:"user_id"` UserName string `json:"user_name"` UserLogin string `json:"user_login"` Amount EventSubCharityAmount `json:"amount"` }
type EventSubCharityProgressEvent ¶ added in v1.41.6
type EventSubCharityProgressEvent struct { CharityCampaignID string `json:"campaign_id"` CharityDescription string `json:"campaign_description"` CharityWebsite string `json:"campaign_website"` CharityName string `json:"charity_name"` CharityLogoURL string `json:"charity_logo"` BroadcasterUserID string `json:"broadcaster_id"` BroadcasterUserName string `json:"broadcaster_name"` BroadcasterUserLogin string `json:"broadcaster_user_login"` UserID string `json:"user_id"` UserName string `json:"user_name"` UserLogin string `json:"user_login"` Amount EventSubCharityAmount `json:"amount"` }
type EventSubCharityStartEvent ¶ added in v1.41.6
type EventSubCharityStartEvent struct { CharityCampaignID string `json:"campaign_id"` CharityDescription string `json:"campaign_description"` CharityWebsite string `json:"campaign_website"` CharityName string `json:"charity_name"` CharityLogoURL string `json:"charity_logo"` BroadcasterUserID string `json:"broadcaster_id"` BroadcasterUserName string `json:"broadcaster_name"` BroadcasterUserLogin string `json:"broadcaster_login"` UserID string `json:"user_id"` UserName string `json:"user_name"` UserLogin string `json:"user_login"` CurrentAmount EventSubCharityAmount `json:"current_amount"` TargetAmount EventSubCharityAmount `json:"target_amount"` StartedAt Time `json:"started_at"` }
type EventSubCharityStopEvent ¶ added in v1.41.6
type EventSubCharityStopEvent struct { CharityCampaignID string `json:"campaign_id"` CharityDescription string `json:"campaign_description"` CharityWebsite string `json:"campaign_website"` CharityName string `json:"charity_name"` CharityLogoURL string `json:"charity_logo"` BroadcasterUserID string `json:"broadcaster_id"` BroadcasterUserName string `json:"broadcaster_name"` BroadcasterUserLogin string `json:"broadcaster_login"` UserID string `json:"user_id"` UserName string `json:"user_name"` UserLogin string `json:"user_login"` CurrentAmount EventSubCharityAmount `json:"current_amount"` TargetAmount EventSubCharityAmount `json:"target_amount"` StoppedAt Time `json:"stopped_at"` }
type EventSubChatBadge ¶ added in v1.53.1
type EventSubChatMessage ¶ added in v1.53.1
type EventSubChatMessage struct { Text string `json:"text"` Fragments []EventSubChatMessageFragment `json:"fragment"` }
type EventSubChatMessageCheer ¶ added in v1.53.1
type EventSubChatMessageCheer struct {
Bits int64 `json:"bits"`
}
type EventSubChatMessageCheermote ¶ added in v1.53.1
type EventSubChatMessageEmote ¶ added in v1.53.1
type EventSubChatMessageFragment ¶ added in v1.53.1
type EventSubChatMessageFragment struct { Type EventSubChatMessageFragmentType `json:"type"` Text string `json:"text"` Cheermote EventSubChatMessageCheermote `json:"cheermote"` Emote EventSubChatMessageEmote `json:"emote"` Mention EventSubChatMessageMention `json:"mention"` }
type EventSubChatMessageFragmentType ¶ added in v1.53.1
type EventSubChatMessageFragmentType string
const ( EventSubChatMessageFragmentTypeText EventSubChatMessageFragmentType = "text" EventSubChatMessageFragmentTypeCheermote EventSubChatMessageFragmentType = "cheermote" EventSubChatMessageFragmentTypeEmote EventSubChatMessageFragmentType = "emote" EventSubChatMessageFragmentTypeMention EventSubChatMessageFragmentType = "mention" )
type EventSubChatMessageMention ¶ added in v1.53.1
type EventSubChatMessageReply ¶ added in v1.53.1
type EventSubChatMessageReply struct { ParentMessageID string `json:"parent_message_id"` ParentMessageBody string `json:"parent_message_body"` ParentUserID string `json:"parent_user_id"` ParentUserName string `json:"parent_user_name"` ParentUserLogin string `json:"parent_user_login"` ThreadMessageID string `json:"thread_message_id"` ThreadUserID string `json:"thread_user_id"` ThreadUserName string `json:"thread_user_name"` ThreadUserLogin string `json:"thread_user_login"` }
type EventSubChatMessageType ¶ added in v1.53.1
type EventSubChatMessageType string
const ( EventSubChatMessageTypeText EventSubChatMessageType = "text" EventSubChatMessageTypeChannelPointsHighlighted EventSubChatMessageType = "channel_points_highlighted" EventSubChatMessageTypeChannelPointsSubOnly EventSubChatMessageType = "channel_points_sub_only" EventSubChatMessageTypeUserIntro EventSubChatMessageType = "user_intro" )
type EventSubChatNotificationMessage ¶ added in v1.53.1
type EventSubChatNotificationMessage struct { Text string `json:"text"` Fragments []EventSubChatMessageFragment `json:"fragment"` }
type EventSubCondition ¶ added in v1.31.0
type EventSubCondition struct { BroadcasterUserID string `json:"broadcaster_user_id"` FromBroadcasterUserID string `json:"from_broadcaster_user_id"` ModeratorUserID string `json:"moderator_user_id"` ToBroadcasterUserID string `json:"to_broadcaster_user_id"` RewardID string `json:"reward_id"` ClientID string `json:"client_id"` ExtensionClientID string `json:"extension_client_id"` UserID string `json:"user_id"` }
Conditions for a subscription, not all are necessary and some only apply to some subscription types, see https://dev.twitch.tv/docs/eventsub/eventsub-reference
type EventSubContribution ¶ added in v1.31.0
type EventSubContribution struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` Type string `json:"type"` Total int64 `json:"total"` }
This belongs to a hype train and defines a user contribution
type EventSubEmote ¶ added in v1.31.0
EventSubEmote
type EventSubExtensionBitsTransactionCreateEvent ¶ added in v1.31.0
type EventSubExtensionBitsTransactionCreateEvent struct { ExtensionClientID string `json:"extension_client_id"` ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` Product EventSubProduct `json:"product"` }
Data for an extension bits transaction creation
type EventSubGlobalCooldown ¶ added in v1.31.0
type EventSubGlobalCooldown struct { IsEnabled bool `json:"is_enabled"` Seconds int `json:"seconds"` }
This belongs to a custom reward and defines it's cooldown
type EventSubHypeTrainBeginEvent ¶ added in v1.31.0
type EventSubHypeTrainBeginEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Total int `json:"total"` Progress int `json:"progress"` Goal int `json:"goal"` TopContributions []EventSubContribution `json:"top_contributions"` LastContribution EventSubContribution `json:"last_contribution"` StartedAt Time `json:"started_at"` ExpiresAt Time `json:"expires_at"` IsGoldenKappaTrain bool `json:"is_golden_kappa_train"` }
Data for a hype train begin notification
type EventSubHypeTrainEndEvent ¶ added in v1.31.0
type EventSubHypeTrainEndEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Level int `json:"level"` Total int `json:"total"` TopContributions []EventSubContribution `json:"top_contributions"` StartedAt Time `json:"started_at"` EndedAt Time `json:"ended_at"` CooldownEndsAt Time `json:"cooldown_ends_at"` IsGoldenKappaTrain bool `json:"is_golden_kappa_train"` }
Data for a hype train end notification
type EventSubHypeTrainProgressEvent ¶ added in v1.31.0
type EventSubHypeTrainProgressEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Level int `json:"level"` Total int `json:"total"` Progress int `json:"progress"` Goal int `json:"goal"` TopContributions []EventSubContribution `json:"top_contributions"` LastContribution EventSubContribution `json:"last_contribution"` StartedAt Time `json:"started_at"` ExpiresAt Time `json:"expires_at"` IsGoldenKappaTrain bool `json:"is_golden_kappa_train"` }
Data for a hype train progress notification
type EventSubImage ¶ added in v1.31.0
type EventSubImage struct { Url1x string `json:"url_1x"` Url2x string `json:"url_2x"` Url4x string `json:"url_4x"` }
This also belongs to a custom reward and defines the image urls
type EventSubMaxPerStream ¶ added in v1.31.0
This belongs to a custom reward and defines if it is limited per stream
type EventSubMessage ¶ added in v1.31.0
type EventSubMessage struct { Text string `json:"text"` Emotes []EventSubEmote `json:"emotes"` }
EventSubMessage
type EventSubModeratorAddEvent ¶ added in v1.31.0
type EventSubModeratorAddEvent = EventSubChannelFollowEvent
Data for a channel moderator add notification, it's the same as the channel follow notification
type EventSubModeratorRemoveEvent ¶ added in v1.31.0
type EventSubModeratorRemoveEvent = EventSubChannelFollowEvent
Data for a channel moderator remove notification, it's the same as the channel follow notification
type EventSubOutcome ¶ added in v1.31.0
type EventSubOutcome struct { ID string `json:"id"` Title string `json:"title"` Color string `json:"color"` Users int `json:"users"` ChannelPoints int `json:"channel_points"` TopPredictors []EventSubTopPredictor `json:"top_predictors"` }
This belong to a channel prediction and defines the outcomes
type EventSubProduct ¶ added in v1.31.0
type EventSubReward ¶ added in v1.31.0
type EventSubReward struct { ID string `json:"id"` Title string `json:"title"` Cost int `json:"cost"` Prompt string `json:"prompt"` }
This belongs to a reward redemption and defines the reward redeemed
type EventSubShoutoutCreateEvent ¶ added in v1.41.8
type EventSubShoutoutCreateEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserName string `json:"broadcaster_user_name"` BroadcasterUserLogin string `json:"broadcaster_user_login"` ModeratorUserID string `json:"moderator_user_id"` ModeratorUserName string `json:"moderator_user_name"` ModeratorUserLogin string `json:"moderator_user_login"` ToBroadcasterUserID string `json:"to_broadcaster_user_id"` ToBroadcasterUserName string `json:"to_broadcaster_user_name"` ToBroadcasterUserLogin string `json:"to_broadcaster_user_login"` StartedAt Time `json:"started_at"` ViewerCount int64 `json:"viewer_count"` CooldownEndsAt Time `json:"cooldown_ends_at"` TargetCooldownEndsAt Time `json:"target_cooldown_ends_at"` }
type EventSubShoutoutReceiveEvent ¶ added in v1.41.8
type EventSubShoutoutReceiveEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserName string `json:"broadcaster_user_name"` BroadcasterUserLogin string `json:"broadcaster_user_login"` FromBroadcasterUserID string `json:"from_broadcaster_user_id"` FromBroadcasterUserName string `json:"from_broadcaster_user_name"` FromBroadcasterUserLogin string `json:"from_broadcaster_user_login"` ViewerCount int64 `json:"viewer_count"` StartedAt Time `json:"started_at"` }
type EventSubStreamOfflineEvent ¶ added in v1.31.0
type EventSubStreamOfflineEvent struct { BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` }
Data for a stream offline notification
type EventSubStreamOnlineEvent ¶ added in v1.31.0
type EventSubStreamOnlineEvent struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_user_id"` BroadcasterUserLogin string `json:"broadcaster_user_login"` BroadcasterUserName string `json:"broadcaster_user_name"` Type string `json:"type"` StartedAt Time `json:"started_at"` }
Data for a stream online notification
type EventSubSubscription ¶ added in v1.31.0
type EventSubSubscription struct { ID string `json:"id"` Type string `json:"type"` Version string `json:"version"` Status string `json:"status"` Condition EventSubCondition `json:"condition"` Transport EventSubTransport `json:"transport"` CreatedAt Time `json:"created_at"` Cost int `json:"cost"` }
Represents a subscription
type EventSubSubscriptionsParams ¶ added in v1.31.0
type EventSubSubscriptionsParams struct { Status string `query:"status"` Type string `query:"type"` UserID string `query:"user_id"` After string `query:"after"` }
Parameter for filtering subscriptions, currently only the status is filterable
type EventSubSubscriptionsResponse ¶ added in v1.31.0
type EventSubSubscriptionsResponse struct { ResponseCommon Data ManyEventSubSubscriptions }
Response for getting all current subscriptions
type EventSubTopPredictor ¶ added in v1.31.0
type EventSubTopPredictor struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` ChannelPointWon int `json:"channel_points_won"` ChannelPointsUsed int `json:"channel_points_used"` }
This belong to an outcome and defines user reward
type EventSubTransport ¶ added in v1.31.0
type EventSubTransport struct { Method string `json:"method"` Callback string `json:"callback"` Secret string `json:"secret"` SessionID string `json:"session_id"` }
Transport for the subscription, currently the only supported Method is "webhook". Secret must be between 10 and 100 characters
type EventSubUserAuthenticationRevokeEvent ¶ added in v1.31.0
type EventSubUserAuthenticationRevokeEvent struct { ClientID string `json:"client_id"` UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` }
Data for an user authentication revoke notification, this means the user has revoked the access token and if you need to comply with gdpr you need to delete your user data belonging to the user.
type EventSubUserUpdateEvent ¶ added in v1.31.0
type EventSubUserUpdateEvent struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` Email string `json:"email"` Description string `json:"description"` }
Data for an user update notification
type ExtensionAnalytic ¶ added in v0.4.0
type ExtensionAnalyticsParams ¶ added in v0.4.0
type ExtensionAnalyticsResponse ¶ added in v0.4.0
type ExtensionAnalyticsResponse struct { ResponseCommon Data ManyExtensionAnalytics }
type ExtensionConfigurationSegment ¶ added in v1.32.0
type ExtensionConfigurationSegment struct { Segment ExtensionSegmentType `json:"segment"` Version string `json:"version"` Content string `json:"content"` }
type ExtensionCreateClaimsParams ¶ added in v1.33.0
type ExtensionCreateClaimsParams struct { // ChannelID if this value is empty it will default to 'all' ChannelID string // PubSub is the pubsub permission to attach to the claim PubSub *PubSubPermissions // Expiration is the epoch of jwt expiration, default 3 minutes from time.Now Expiration int64 }
type ExtensionGetConfigurationParams ¶ added in v1.32.0
type ExtensionGetConfigurationParams struct { ExtensionID string `query:"extension_id"` BroadcasterID string `query:"broadcaster_id"` Segments []ExtensionSegmentType `query:"segment"` }
type ExtensionGetConfigurationSegmentResponse ¶ added in v1.32.0
type ExtensionGetConfigurationSegmentResponse struct { ResponseCommon Data ManyExtensionConfigurationSegments }
type ExtensionLiveChannel ¶ added in v1.33.4
type ExtensionLiveChannelsParams ¶ added in v1.33.4
type ExtensionLiveChannelsResponse ¶ added in v1.33.4
type ExtensionLiveChannelsResponse struct { ResponseCommon Data ManyExtensionLiveChannels }
type ExtensionOptions ¶ added in v1.32.0
type ExtensionPubSubPublishType ¶ added in v1.32.0
type ExtensionPubSubPublishType string
PublishType The Pub/Sub broadcast type
const ( ExtensionPubSubGenericPublish ExtensionPubSubPublishType = "*" ExtensionPubSubBroadcastPublish ExtensionPubSubPublishType = "broadcast" ExtensionPubSubGlobalPublish ExtensionPubSubPublishType = "global" )
Types of Pub/Sub Permissions or targets
func (ExtensionPubSubPublishType) String ¶ added in v1.32.5
func (p ExtensionPubSubPublishType) String() string
type ExtensionSecretCreationParams ¶ added in v1.32.0
type ExtensionSecretCreationResponse ¶ added in v1.32.0
type ExtensionSecretCreationResponse struct { Data ManyExtensionSecrets ResponseCommon }
GetExtensionSecretResponse response structure received when generating or querying for generated secrets
type ExtensionSegmentType ¶ added in v1.32.0
type ExtensionSegmentType string
SegmentType A segment configuration type
const ( ExtensionConfigrationBroadcasterSegment ExtensionSegmentType = "broadcaster" ExtensionConfigurationDeveloperSegment ExtensionSegmentType = "developer" ExtensionConfigurationGlobalSegment ExtensionSegmentType = "global" )
Types of segments datastores for the configuration service
func (ExtensionSegmentType) String ¶ added in v1.32.0
func (s ExtensionSegmentType) String() string
type ExtensionSendChatMessageParams ¶ added in v1.33.0
type ExtensionSendChatMessageResponse ¶ added in v1.33.0
type ExtensionSendChatMessageResponse struct {
ResponseCommon
}
type ExtensionSendPubSubMessageParams ¶ added in v1.33.0
type ExtensionSendPubSubMessageParams struct { BroadcasterID string `json:"broadcaster_id"` Message string `json:"message"` Target []ExtensionPubSubPublishType `json:"target"` IsGlobalBroadcast bool `json:"is_global_broadcast"` }
type ExtensionSendPubSubMessageResponse ¶ added in v1.33.0
type ExtensionSendPubSubMessageResponse struct {
ResponseCommon
}
type ExtensionSetConfigurationParams ¶ added in v1.33.0
type ExtensionSetConfigurationParams struct { Segment ExtensionSegmentType `json:"segment"` ExtensionID string `json:"extension_id"` // BroadcasterID is only populated if segment is of type 'developer' || 'broadcaster' BroadcasterID string `json:"broadcaster_id,omitempty"` Version string `json:"version"` Content string `json:"content"` }
type ExtensionSetConfigurationResponse ¶ added in v1.32.0
type ExtensionSetConfigurationResponse struct {
ResponseCommon
}
type ExtensionSetRequiredConfigurationParams ¶ added in v1.32.0
type ExtensionSetRequiredConfigurationParams struct { BroadcasterID string `query:"broadcaster_id" json:"-"` ExtensionID string `json:"extension_id"` RequiredConfiguration string `json:"required_version"` ExtensionVersion string `json:"extension_version"` ConfigurationVersion string `json:"configuration_version"` }
type ExtensionSetRequiredConfigurationResponse ¶ added in v1.32.0
type ExtensionSetRequiredConfigurationResponse struct {
ResponseCommon
}
type ExtensionTransaction ¶ added in v1.31.0
type ExtensionTransaction struct { ID string `json:"id"` Timestamp Time `json:"timestamp"` BroadcasterID string `json:"broadcaster_id"` BroadcasterLogin string `json:"broadcaster_login"` BroadcasterName string `json:"broadcaster_name"` UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` ProductType string `json:"product_type"` ProductData struct { Domain string `json:"domain"` Broadcast bool `json:"broadcast"` Expiration string `json:"expiration"` SKU string `json:"sku"` Cost struct { Amount int `json:"amount"` Type string `json:"type"` } `json:"cost"` DisplayName string `json:"displayName"` InDevelopment bool `json:"inDevelopment"` } `json:"product_data"` }
type ExtensionTransactionsParams ¶ added in v1.31.0
type ExtensionTransactionsResponse ¶ added in v1.31.0
type ExtensionTransactionsResponse struct { ResponseCommon Data ManyExtensionTransactions }
type FollowedChannel ¶ added in v1.42.4
type FollowedChannel struct { BroadcasterID string `json:"broadcaster_id"` BroadcasterName string `json:"broadcaster_name"` BroadcaserLogin string `json:"broadcaster_login"` Followed Time `json:"followed_at"` }
Channel describes a followed channel
type FollowedStreamsParams ¶ added in v1.31.0
type GameAnalytic ¶
type GameAnalyticsParams ¶ added in v0.4.0
type GameAnalyticsResponse ¶
type GameAnalyticsResponse struct { ResponseCommon Data ManyGameAnalytics }
type GamesParams ¶
type GamesResponse ¶
type GamesResponse struct { ResponseCommon Data ManyGames }
type GetChannelEmotesParams ¶ added in v1.31.0
type GetChannelEmotesParams struct {
BroadcasterID string `query:"broadcaster_id"`
}
type GetChannelEmotesResponse ¶ added in v1.31.0
type GetChannelEmotesResponse struct { ResponseCommon Data ManyEmotes }
type GetChannelFollowersResponse ¶ added in v1.42.4
type GetChannelFollowersResponse struct { ResponseCommon Data ManyChannelFollows }
SearchChannelsResponse is the response from SearchChannels
type GetChannelFollowsParams ¶ added in v1.42.4
type GetChannelInformationParams ¶ added in v1.31.0
type GetChannelInformationResponse ¶ added in v1.31.0
type GetChannelInformationResponse struct { ResponseCommon Data ManyChannelInformation }
type GetChannelVipsParams ¶ added in v1.42.7
type GetChatBadgeParams ¶ added in v1.31.0
type GetChatBadgeParams struct {
BroadcasterID string `query:"broadcaster_id"`
}
type GetChatBadgeResponse ¶ added in v1.31.0
type GetChatBadgeResponse struct { ResponseCommon Data ManyChatBadge }
type GetChatChattersParams ¶ added in v1.41.5
type GetChatChattersResponse ¶ added in v1.41.5
type GetChatChattersResponse struct { ResponseCommon Data ManyChatChatters }
type GetChatSettingsParams ¶ added in v1.41.7
type GetChatSettingsParams struct { // Required, the ID of the broadcaster whose chat settings you want to get BroadcasterID string `query:"broadcaster_id"` // Optional, can be specified if you want the `non_moderator_chat_delay` and `non_moderator_chat_delay_duration` fields in the response. The ID should be a user that has moderation privileges in the broadcaster's chat. // The ID must match the specified User Access Token & the User Access Token must have the `moderator:read:chat_settings` scope ModeratorID string `query:"moderator_id,omitempty"` }
type GetChatSettingsResponse ¶ added in v1.41.7
type GetChatSettingsResponse struct { ResponseCommon Data ManyChatSettings }
type GetCreatorGoalsParams ¶ added in v1.33.3
type GetCreatorGoalsParams struct {
BroadcasterID string `query:"broadcaster_id"`
}
type GetCustomRewardsParams ¶ added in v1.31.0
type GetDropEntitlementsParams ¶ added in v1.31.0
type GetDropsEntitlementsResponse ¶ added in v1.31.0
type GetDropsEntitlementsResponse struct { ResponseCommon Data ManyEntitlementsWithPagination }
type GetEmoteSetsParams ¶ added in v1.31.0
type GetEmoteSetsParams struct {
EmoteSetIDs []string `query:"emote_set_id"` // Minimum: 1. Maximum: 25.
}
type GetEmoteSetsResponse ¶ added in v1.31.0
type GetEmoteSetsResponse struct { ResponseCommon Data ManyEmotesWithOwner }
type GetExtensionSecretParams ¶ added in v1.32.0
type GetExtensionSecretParams struct {
ExtensionID string `query:"extension_id"`
}
type GetExtensionSecretResponse ¶ added in v1.32.0
type GetExtensionSecretResponse struct { Data ManyExtensionSecrets ResponseCommon }
GetExtensionSecretResponse response structure received when fetching secrets for an extension
type GetFollowedChannelParams ¶ added in v1.42.4
type GetFollowedChannelResponse ¶ added in v1.42.4
type GetFollowedChannelResponse struct { ResponseCommon Data ManyFollowedChannels }
SearchChannelsResponse is the response from SearchChannels
type GetModeratedChannelsParams ¶ added in v1.53.1
type GetModeratedChannelsParams struct { // Required UserID string `query:"user_id"` // Optional After string `query:"after"` First int `query:"first"` }
`UserID` must match the user ID in the User-Access token
type GetModeratedChannelsResponse ¶ added in v1.53.1
type GetModeratedChannelsResponse struct { ResponseCommon Data ManyModeratedChannels }
type GetModeratorsParams ¶ added in v1.41.7
type GetPollsResponse ¶ added in v1.31.0
type GetPollsResponse struct { ResponseCommon Data ManyPolls }
type GetPredictionsResponse ¶ added in v1.31.0
type GetPredictionsResponse struct { ResponseCommon Data ManyPredictions }
type GetScheduleData ¶ added in v1.50.0
type GetScheduleData struct { Schedule ScheduleData `json:"data"` Pagination GetSchedulePagination `json:"pagination"` }
type GetSchedulePagination ¶ added in v1.50.0
type GetSchedulePagination struct {
Cursor string `json:"cursor"`
}
type GetScheduleParams ¶ added in v1.50.0
type GetScheduleParams struct { BroadcasterID string `query:"broadcaster_id"` ID string `query:"id"` StartTime Time `query:"start_time"` UTCOffset string `query:"utc_offset"` First int `query:"first"` After string `query:"after"` }
GetScheduleParams are the parameters for GetSchedule
type GetScheduleResponse ¶ added in v1.50.0
type GetScheduleResponse struct { ResponseCommon Data GetScheduleData }
GetScheduleResponse is the response data in GetSchedule
type GetScheduleSegment ¶ added in v1.50.0
type GetScheduleSegmentCategory ¶ added in v1.50.0
type GetScheduleVacation ¶ added in v1.50.0
type GetUserChatColorParams ¶ added in v1.42.7
type GetUserChatColorParams struct {
UserID string `json:"user_id"`
}
GetUserChatColorParams are the parameters for GetUserChatColor
type GetUserChatColorResponse ¶ added in v1.42.7
type GetUserChatColorResponse struct {
Data []GetUserChatColorUser `json:"data"`
}
GetUserChatColorResponse is the response data in UserChatColorResponse
type GetUserChatColorUser ¶ added in v1.42.7
type GetUserChatColorUser struct { UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` Color string `json:"color"` }
GetUserChatColorUser describes the user and their color
type GlobalCooldownSettings ¶ added in v1.31.0
type Goal ¶ added in v1.33.3
type Goal struct { ID string `json:"id"` BroadcasterID string `json:"broadcaster_id"` BroadcasterName string `json:"broadcaster_name"` BroadcasterLogin string `json:"broadcaster_login"` Type string `json:"type"` Description string `json:"description"` CurrentAmount int `json:"current_amount"` TargetAmount int `json:"target_amount"` CreatedAt Time `json:"created_at"` }
type HeldMessageModerationParams ¶ added in v1.31.0
type HeldMessageModerationResponse ¶ added in v1.31.0
type HeldMessageModerationResponse struct {
ResponseCommon
}
type HypeTrainContribuition ¶ added in v1.32.0
type HypeTrainEvent ¶ added in v1.32.0
type HypeTrainEvent struct { ID string `json:"id"` EventType string `json:"event_type"` EventTimestamp Time `json:"event_timestamp"` Version string `json:"version"` Event HypeTrainEventData `json:"event_data"` }
type HypeTrainEventData ¶ added in v1.32.0
type HypeTrainEventData struct { ID string `json:"id"` BroadcasterID string `json:"broadcaster_id"` CooldownEndTime Time `json:"cooldown_end_time"` ExpiresAt Time `json:"expires_at"` Goal int64 `json:"goal"` LastContribution HypeTrainContribuition `json:"last_contribution"` Level int64 `json:"level"` StartedAt Time `json:"started_at"` TopContributions []HypeTrainContribuition `json:"top_contributions"` Total int64 `json:"total"` }
type HypeTrainEventsParams ¶ added in v1.32.0
type HypeTrainEventsResponse ¶ added in v1.32.0
type HypeTrainEventsResponse struct { ResponseCommon Data ManyHypeTrainEvents }
type ManyAdDetails ¶ added in v1.31.0
type ManyAdDetails struct {
AdDetails []AdDetails `json:"data"`
}
type ManyAddBlockedTerms ¶ added in v1.41.6
type ManyAddBlockedTerms struct {
Terms []BlockedTerm `json:"data"`
}
type ManyBanUser ¶ added in v1.41.6
type ManyBanUser struct {
Bans []BanUser `json:"data"`
}
type ManyBans ¶ added in v0.5.5
type ManyBans struct { Bans []Ban `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyBlockedTerms ¶ added in v1.41.6
type ManyBlockedTerms struct { Terms []BlockedTerm `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyChannelCustomRewards ¶ added in v1.31.0
type ManyChannelCustomRewards struct {
ChannelCustomRewards []ChannelCustomReward `json:"data"`
}
type ManyChannelCustomRewardsRedemptions ¶ added in v1.50.0
type ManyChannelCustomRewardsRedemptions struct {
Redemptions []ChannelCustomRewardsRedemption `json:"data"`
}
type ManyChannelEditors ¶ added in v1.31.0
type ManyChannelEditors struct {
ChannelEditors []ChannelEditor `json:"data"`
}
type ManyChannelFollows ¶ added in v1.42.4
type ManyChannelFollows struct { Channels []ChannelFollow `json:"data"` Pagination Pagination `json:"pagination"` Total int `json:"total"` }
ManySearchChannels is the response data from SearchChannels
type ManyChannelInformation ¶ added in v1.31.0
type ManyChannelInformation struct {
Channels []ChannelInformation `json:"data"`
}
type ManyChannelVips ¶ added in v1.42.7
type ManyChannelVips struct { ChannelsVips []ChannelVips `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyCharityCampaigns ¶ added in v1.41.1
type ManyCharityCampaigns struct { Campaigns []CharityCampaignData `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyCharityDonations ¶ added in v1.41.6
type ManyCharityDonations struct { Donations []CharityDonationData `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyChatBadge ¶ added in v1.31.0
type ManyChatBadge struct {
Badges []ChatBadge `json:"data"`
}
type ManyChatChatters ¶ added in v1.41.5
type ManyChatChatters struct { Chatters []ChatChatter `json:"data"` Pagination Pagination `json:"pagination"` Total int `json:"total"` }
type ManyChatMessages ¶ added in v1.53.1
type ManyChatMessages struct {
Messages []ChatMessage `json:"data"`
}
type ManyChatSettings ¶ added in v1.41.7
type ManyChatSettings struct {
Settings []ChatSettings `json:"data"`
}
type ManyCheermotes ¶ added in v1.31.0
type ManyCheermotes struct {
Cheermotes []Cheermotes `json:"data"`
}
type ManyClipEditURLs ¶
type ManyClipEditURLs struct {
ClipEditURLs []ClipEditURL `json:"data"`
}
type ManyClips ¶
type ManyClips struct { Clips []Clip `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyCodes ¶ added in v1.31.0
type ManyCodes struct {
Codes []CodeStatus `json:"data"`
}
type ManyCreateStreamMarkers ¶ added in v0.4.2
type ManyCreateStreamMarkers struct {
CreateStreamMarkers []CreateStreamMarker `json:"data"`
}
type ManyDropReasons ¶ added in v1.53.1
type ManyDropReasons struct {
Data DropReason
}
type ManyEmotes ¶ added in v1.31.0
type ManyEmotes struct {
Emotes []Emote `json:"data"`
}
type ManyEmotesWithOwner ¶ added in v1.31.0
type ManyEmotesWithOwner struct {
Emotes []EmoteWithOwner `json:"data"`
}
type ManyEntitlements ¶ added in v1.31.0
type ManyEntitlements struct {
Entitlements []Entitlement `json:"data"`
}
type ManyEntitlementsUploadURLs ¶
type ManyEntitlementsUploadURLs struct {
URLs []EntitlementsUploadURL `json:"data"`
}
type ManyEntitlementsWithPagination ¶ added in v1.31.0
type ManyEntitlementsWithPagination struct { ManyEntitlements Pagination `json:"pagination"` }
type ManyEventSubSubscriptions ¶ added in v1.31.0
type ManyEventSubSubscriptions struct { Total int `json:"total"` TotalCost int `json:"total_cost"` MaxTotalCost int `json:"max_total_cost"` EventSubSubscriptions []EventSubSubscription `json:"data"` Pagination Pagination `json:"pagination"` }
Twitch Response for getting all current subscriptions
type ManyExtensionAnalytics ¶ added in v0.4.0
type ManyExtensionAnalytics struct { ExtensionAnalytics []ExtensionAnalytic `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyExtensionConfigurationSegments ¶ added in v1.32.0
type ManyExtensionConfigurationSegments struct {
Segments []ExtensionConfigurationSegment `json:"data"`
}
type ManyExtensionLiveChannels ¶ added in v1.33.4
type ManyExtensionLiveChannels struct { LiveChannels []ExtensionLiveChannel `json:"data"` Pagination string `json:"pagination"` }
type ManyExtensionSecrets ¶ added in v1.32.0
type ManyExtensionSecrets struct {
SecretInfo []SecretsInformation `json:"data"`
}
type ManyExtensionTransactions ¶ added in v1.31.0
type ManyExtensionTransactions struct { ExtensionTransactions []ExtensionTransaction `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyFollowedChannels ¶ added in v1.42.4
type ManyFollowedChannels struct { FollowedChannels []FollowedChannel `json:"data"` Pagination Pagination `json:"pagination"` Total int64 `json:"total"` }
ManySearchChannels is the response data from SearchChannels
type ManyFollows ¶
type ManyFollows struct { Total int `json:"total"` Follows []UserFollow `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyGameAnalytics ¶
type ManyGameAnalytics struct { GameAnalytics []GameAnalytic `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyGamesWithPagination ¶
type ManyGamesWithPagination struct { ManyGames Pagination Pagination `json:"pagination"` }
type ManyGoals ¶ added in v1.33.3
type ManyGoals struct { Goals []Goal `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyHypeTrainEvents ¶ added in v1.32.0
type ManyHypeTrainEvents struct { Events []HypeTrainEvent `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyModeratedChannels ¶ added in v1.53.1
type ManyModeratedChannels struct { ModeratedChannels []ModeratedChannel `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyModeratorWarnChatMessages ¶ added in v1.53.2
type ManyModeratorWarnChatMessages struct {
Warnings []ModeratorWarnChatMessage `json:"data"`
}
type ManyModerators ¶ added in v1.41.7
type ManyModerators struct { Moderators []Moderator `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyPolls ¶ added in v1.31.0
type ManyPolls struct { Polls []Poll `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyPredictions ¶ added in v1.31.0
type ManyPredictions struct { Predictions []Prediction `json:"data"` Pagination Pagination `json:"pagination"` }
type ManySearchCategories ¶ added in v1.42.7
type ManySearchCategories struct { Categories []Category `json:"data"` Pagination Pagination `json:"pagination"` }
ManySearchCategories is the response data from SearchCategories
type ManySearchChannels ¶ added in v0.6.0
type ManySearchChannels struct { Channels []Channel `json:"data"` Pagination Pagination `json:"pagination"` }
ManySearchChannels is the response data from SearchChannels
type ManyStreamKeys ¶ added in v1.33.8
type ManyStreamKeys struct { Data []struct { StreamKey string `json:"stream_key"` } `json:"data"` }
type ManyStreamMarkers ¶ added in v0.4.1
type ManyStreamMarkers struct { StreamMarkers []StreamMarker `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyStreams ¶
type ManyStreams struct { Streams []Stream `json:"data"` Pagination Pagination `json:"pagination"` }
type ManySubscriptions ¶ added in v0.5.3
type ManySubscriptions struct { Subscriptions []Subscription `json:"data"` Pagination Pagination `json:"pagination"` Total int `json:"total"` Points int `json:"points"` // Each Tier 1 is worth 1, Tier 2 is worth 2, and Tier 3 is worth 6 }
type ManyUpdatedEntitlementSet ¶ added in v1.33.2
type ManyUpdatedEntitlementSet struct {
EntitlementSets []UpdatedEntitlementSet `json:"data"`
}
type ManyUserBitTotals ¶
type ManyUserBitTotals struct { Total int `json:"total"` DateRange DateRange `json:"date_range"` UserBitTotals []UserBitTotal `json:"data"` }
type ManyUserExtensions ¶ added in v0.5.6
type ManyUserExtensions struct {
UserExtensions []UserExtension `json:"data"`
}
type ManyUserSubscriptions ¶ added in v1.31.0
type ManyUserSubscriptions struct {
UserSubscriptions []UserSubscription `json:"data"`
}
type ManyUsersBlocked ¶ added in v1.31.0
type ManyUsersBlocked struct { Users []UserBlocked `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyVideos ¶
type ManyVideos struct { Videos []Video `json:"data"` Pagination Pagination `json:"pagination"` }
type ManyWebhookSubscriptions ¶ added in v0.3.1
type ManyWebhookSubscriptions struct { Total int `json:"total"` WebhookSubscriptions []WebhookSubscription `json:"data"` Pagination Pagination `json:"pagination"` }
type MaxPerStreamSettings ¶ added in v1.31.0
type MaxPerUserPerStreamSettings ¶ added in v1.31.0
type ModeratedChannel ¶ added in v1.53.1
type ModeratorWarnChatMessage ¶ added in v1.53.2
type ModeratorsResponse ¶ added in v1.41.7
type ModeratorsResponse struct { ResponseCommon Data ManyModerators }
type Options ¶
type Options struct { ClientID string ClientSecret string AppAccessToken string UserAccessToken string RefreshToken string UserAgent string RedirectURI string HTTPClient HTTPClient RateLimitFunc RateLimitFunc APIBaseURL string ExtensionOpts ExtensionOptions }
type Pagination ¶
type Pagination struct {
Cursor string `json:"cursor"`
}
type Poll ¶ added in v1.31.0
type Poll struct { ID string `json:"id"` BroadcasterID string `json:"broadcaster_id"` BroadcasterLogin string `json:"broadcaster_login"` BroadcasterName string `json:"broadcaster_name"` Title string `json:"title"` Choices []PollChoice `json:"choices"` BitsVotingEnabled bool `json:"bits_voting_enabled"` BitsPerVote int `json:"bits_per_vote"` ChannelPointsVotingEnabled bool `json:"channel_points_voting_enabled"` ChannelPointsPerVote int `json:"channel_points_per_vote"` Status string `json:"status"` Duration int `json:"duration"` StartedAt Time `json:"started_at"` EndedAt Time `json:"ended_at"` }
type PollChoice ¶ added in v1.31.0
type PollChoiceParam ¶ added in v1.31.0
type PollChoiceParam struct {
Title string `json:"title"` // Maximum: 25 characters.
}
type PollsParams ¶ added in v1.31.0
type PollsResponse ¶ added in v1.31.0
type PollsResponse struct { ResponseCommon Data ManyPolls }
type Prediction ¶ added in v1.31.0
type Prediction struct { ID string `json:"id"` BroadcasterUserID string `json:"broadcaster_id"` BroadcasterUserLogin string `json:"broadcaster_login"` BroadcasterUserName string `json:"broadcaster_name"` Title string `json:"title"` WinningOutcomeID string `json:"winning_outcome_id"` Outcomes []Outcomes `json:"outcomes"` PredictionWindow int `json:"prediction_window"` Status string `json:"status"` CreatedAt Time `json:"created_at"` EndedAt Time `json:"ended_at"` LockedAt Time `json:"locked_at"` }
Prediction ... same struct as Poll
type PredictionChoiceParam ¶ added in v1.31.0
type PredictionChoiceParam struct {
Title string `json:"title"` // Maximum: 25 characters.
}
type PredictionsParams ¶ added in v1.31.0
type PredictionsResponse ¶ added in v1.31.0
type PredictionsResponse struct { ResponseCommon Data ManyPredictions }
type PubSubPermissions ¶ added in v1.32.0
type PubSubPermissions struct { Send []ExtensionPubSubPublishType `json:"send,omitempty"` Listen []ExtensionPubSubPublishType `json:"listen,omitempty"` }
PubSubPermissions publish permissions used within JWT claims
type RaidDetails ¶ added in v1.42.7
RaidDetails describes details of the ongoing raid
type RaidResponse ¶ added in v1.42.7
type RaidResponse struct { ResponseCommon Data StartRaidResponse }
RaidResponse is the response from StartRaid
type RateLimitFunc ¶
type RefreshTokenResponse ¶
type RefreshTokenResponse struct { ResponseCommon Data AccessCredentials }
type RemoveBlockedTermParams ¶ added in v1.41.6
type RemoveBlockedTermResponse ¶ added in v1.41.6
type RemoveBlockedTermResponse struct {
ResponseCommon
}
type RemoveChannelModeratorParams ¶ added in v1.50.0
type RemoveChannelModeratorResponse ¶ added in v1.50.0
type RemoveChannelModeratorResponse struct {
ResponseCommon
}
type RemoveChannelVipParams ¶ added in v1.42.7
type RemoveChannelVipResponse ¶ added in v1.42.7
type RemoveChannelVipResponse struct {
ResponseCommon
}
type RemoveEventSubSubscriptionParams ¶ added in v1.31.0
type RemoveEventSubSubscriptionParams struct {
ID string `query:"id"`
}
Parameter for removing a subscription.
type RemoveEventSubSubscriptionParamsResponse ¶ added in v1.31.0
type RemoveEventSubSubscriptionParamsResponse struct {
ResponseCommon
}
Response for removing a subscription
type Response ¶
type Response struct { ResponseCommon Data interface{} }
func (*Response) HydrateResponseCommon ¶ added in v0.5.7
func (r *Response) HydrateResponseCommon(rc *ResponseCommon)
HydrateResponseCommon copies the content of the source response's ResponseCommon to the supplied ResponseCommon argument
type ResponseCommon ¶
type ResponseCommon struct { StatusCode int Header http.Header Error string `json:"error"` ErrorStatus int `json:"status"` ErrorMessage string `json:"message"` }
func (*ResponseCommon) GetRateLimit ¶ added in v0.3.0
func (rc *ResponseCommon) GetRateLimit() int
GetRateLimit returns the "RateLimit-Limit" header as an int.
func (*ResponseCommon) GetRateLimitRemaining ¶ added in v0.3.0
func (rc *ResponseCommon) GetRateLimitRemaining() int
GetRateLimitRemaining returns the "RateLimit-Remaining" header as an int.
func (*ResponseCommon) GetRateLimitReset ¶ added in v0.3.0
func (rc *ResponseCommon) GetRateLimitReset() int
GetRateLimitReset returns the "RateLimit-Reset" header as an int.
type RevokeAccessTokenResponse ¶
type RevokeAccessTokenResponse struct {
ResponseCommon
}
type RewardImage ¶ added in v1.31.0
type ScheduleData ¶ added in v1.50.0
type ScheduleData struct { Segments []GetScheduleSegment `json:"segments"` BroadcasterID string `json:"broadcaster_id"` BroadcasterName string `json:"broadcaster_name"` BroadcasterLogin string `json:"broadcaster_login"` Vacation GetScheduleVacation `json:"vacation"` }
type SearchCategoriesParams ¶ added in v1.42.7
type SearchCategoriesParams struct { Query string `query:"query"` After string `query:"after"` First int `query:"first,20"` // Limit 100 }
SearchCategoriesParams is parameters for SearchCategories
type SearchCategoriesResponse ¶ added in v1.42.7
type SearchCategoriesResponse struct { ResponseCommon Data ManySearchCategories }
SearchCategoriesResponse is the response from SearchCategories
type SearchChannelsParams ¶ added in v0.6.0
type SearchChannelsParams struct { Channel string `query:"query"` After string `query:"after"` First int `query:"first,20"` // Limit 100 LiveOnly bool `query:"live_only"` }
SearchChannelsParams is parameters for SearchChannels
type SearchChannelsResponse ¶ added in v0.6.0
type SearchChannelsResponse struct { ResponseCommon Data ManySearchChannels }
SearchChannelsResponse is the response from SearchChannels
type Secret ¶ added in v1.32.0
type Secret struct { ActiveAt Time `json:"active_at"` Content string `json:"content"` Expires Time `json:"expires_at"` }
Secret information about a generated secret
type SecretsInformation ¶ added in v1.32.2
type SendChatAnnouncementParams ¶ added in v1.33.8
type SendChatAnnouncementParams struct { BroadcasterID string `query:"broadcaster_id"` // required ModeratorID string `query:"moderator_id"` // required Message string `json:"message"` // upto 500 chars, thereafter str is truncated // blue || green || orange || purple are valid, default 'primary' or empty str result in channel accent color. Color string `json:"color"` }
type SendChatAnnouncementResponse ¶ added in v1.33.8
type SendChatAnnouncementResponse struct {
ResponseCommon
}
type SendChatMessageParams ¶ added in v1.53.1
type SendChatMessageParams struct { // The ID of the broadcaster whose chat room the message will be sent to BroadcasterID string `json:"broadcaster_id"` // The ID of the user sending the message. This ID must match the user ID in the user access token SenderID string `json:"sender_id"` // The message to send. The message is limited to a maximum of 500 characters. // Chat messages can also include emoticons. // To include emoticons, use the name of the emote. // The names are case sensitive. // Don’t include colons around the name (e.g., :bleedPurple:). // If Twitch recognizes the name, Twitch converts the name to the emote before writing the chat message to the chat room Message string `json:"message"` // The ID of the chat message being replied to ReplyParentMessageID string `json:"reply_parent_message_id,omitempty"` }
type SendModeratorWarnChatMessageParams ¶ added in v1.53.2
type SendModeratorWarnChatMessageParams struct { // The ID of the broadcaster whose chat room the message will be sent to BroadcasterID string `query:"broadcaster_id"` // The ID of the twitch user who requested the warning. ModeratorID string `query:"moderator_id"` // The ID of the user sent the WARN message UserID string `json:"user_id"` // The warn message to send. Reason string `json:"reason"` }
type SendModeratorWarnChatResponse ¶ added in v1.53.2
type SendModeratorWarnChatResponse struct { ResponseCommon Data ManyModeratorWarnChatMessages }
type SendShoutoutParams ¶ added in v1.41.8
type SendShoutoutResponse ¶ added in v1.41.8
type SendShoutoutResponse struct {
ResponseCommon
}
type SendUserWhisperParams ¶ added in v1.41.7
type SendUserWhisperResponse ¶ added in v1.41.7
type SendUserWhisperResponse struct {
ResponseCommon
}
type StartCommercialParams ¶ added in v1.31.0
type StartCommercialParams struct { BroadcasterID string `query:"broadcaster_id"` Length AdLengthEnum `query:"length"` }
type StartCommercialResponse ¶ added in v1.31.0
type StartCommercialResponse struct { ResponseCommon Data ManyAdDetails }
type StartRaidParams ¶ added in v1.42.7
type StartRaidParams struct { FromBroadcasterID string `query:"from_broadcaster_id"` ToBroadcasterID string `query:"to_broadcaster_id"` }
StartRaidParams are the parameters for StartRaid
type StartRaidResponse ¶ added in v1.42.7
type StartRaidResponse struct {
Data []RaidDetails `json:"data"`
}
StartRaidResponse is the response data in RaidResponse
type Stream ¶
type Stream struct { ID string `json:"id"` UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` GameID string `json:"game_id"` GameName string `json:"game_name"` TagIDs []string `json:"tag_ids"` Tags []string `json:"tags"` IsMature bool `json:"is_mature"` Type string `json:"type"` Title string `json:"title"` ViewerCount int `json:"viewer_count"` StartedAt time.Time `json:"started_at"` Language string `json:"language"` ThumbnailURL string `json:"thumbnail_url"` }
type StreamKeyParams ¶ added in v1.33.8
type StreamKeyParams struct {
BroadcasterID string `query:"broadcaster_id"`
}
type StreamKeysResponse ¶ added in v1.33.8
type StreamKeysResponse struct { ResponseCommon Data ManyStreamKeys }
type StreamMarker ¶ added in v0.4.1
type StreamMarker struct { UserID string `json:"user_id"` UserName string `json:"user_name"` UserLogin string `json:"user_login"` Videos []VideoMarker `json:"videos"` }
type StreamMarkersParams ¶ added in v0.4.1
type StreamMarkersParams struct { UserID string `query:"user_id"` VideoID string `query:"video_id"` // Optional After string `query:"after"` Before string `query:"before"` First int `query:"first,20"` // Limit 100 }
StreamMarkersParams requires _either_ UserID or VideoID set
UserID: fetches stream markers of the current livestream of the given user (VOD recording must be enabled). VideoID: fetches streams markers of the VOD.
type StreamMarkersResponse ¶ added in v0.4.1
type StreamMarkersResponse struct { ResponseCommon Data ManyStreamMarkers }
type StreamsParams ¶
type StreamsParams struct { After string `query:"after"` Before string `query:"before"` First int `query:"first,20"` // Limit 100 GameIDs []string `query:"game_id"` // Limit 100 Language []string `query:"language"` // Limit 100 Type string `query:"type,all"` // "all" (default), "live" and "vodcast" UserIDs []string `query:"user_id"` // limit 100 UserLogins []string `query:"user_login"` // limit 100 }
type StreamsResponse ¶
type StreamsResponse struct { ResponseCommon Data ManyStreams }
type Subscription ¶ added in v0.5.3
type Subscription struct { BroadcasterID string `json:"broadcaster_id"` BroadcasterLogin string `json:"broadcaster_login"` BroadcasterName string `json:"broadcaster_name"` IsGift bool `json:"is_gift"` GifterID string `json:"gifter_id"` GifterLogin string `json:"gifter_login"` GifterName string `json:"gifter_name"` Tier string `json:"tier"` PlanName string `json:"plan_name"` UserID string `json:"user_id"` UserName string `json:"user_name"` UserLogin string `json:"user_login"` }
type SubscriptionsParams ¶ added in v0.5.3
type SubscriptionsResponse ¶ added in v0.5.3
type SubscriptionsResponse struct { ResponseCommon Data ManySubscriptions }
type TierImageTypes ¶ added in v1.31.0
type TierImageTypes struct { Animated TierImages `json:"animated"` Static TierImages `json:"static"` }
type TierImages ¶ added in v1.31.0
type Time ¶
Time is our custom time struct.
func (*Time) UnmarshalJSON ¶
UnmarshalJSON is our custom datetime unmarshaller. Twitch sometimes returns datetimes as empty strings, which casuses issues with the native time UnmarshalJSON method when decoding the JSON string. Here we handle that scenario, by returning a zero time value for any JSON time field that is either an empty string or "null".
type TopGamesParams ¶
type TopGamesResponse ¶
type TopGamesResponse struct { ResponseCommon Data ManyGamesWithPagination }
type TopPredictor ¶ added in v1.31.0
type TwitchJWTClaims ¶ added in v1.32.0
type TwitchJWTClaims struct { OpaqueUserID string `json:"opaque_user_id,omitempty"` UserID string `json:"user_id"` ChannelID string `json:"channel_id,omitempty"` Role RoleType `json:"role"` Unlinked bool `json:"is_unlinked,omitempty"` Permissions *PubSubPermissions `json:"pubsub_perms"` jwt.StandardClaims }
TwitchJWTClaims contains information containing twitch specific JWT information.
type UnbanUserParams ¶ added in v1.41.6
type UnbanUserResponse ¶ added in v1.41.6
type UnbanUserResponse struct {
ResponseCommon
}
type UnblockUserParams ¶ added in v1.31.0
type UnblockUserParams struct {
TargetUserID string `query:"target_user_id"`
}
type UpdateChannelCustomRewardsParams ¶ added in v1.41.7
type UpdateChannelCustomRewardsParams struct { ID string `query:"id"` BroadcasterID string `query:"broadcaster_id"` Title string `json:"title"` Cost int `json:"cost"` Prompt string `json:"prompt"` IsEnabled bool `json:"is_enabled"` BackgroundColor string `json:"background_color,omitempty"` IsUserInputRequired bool `json:"is_user_input_required"` IsMaxPerStreamEnabled bool `json:"is_max_per_stream_enabled"` MaxPerStream int `json:"max_per_stream"` IsMaxPerUserPerStreamEnabled bool `json:"is_max_per_user_per_stream_enabled"` MaxPerUserPerStream int `json:"max_per_user_per_stream"` IsGlobalCooldownEnabled bool `json:"is_global_cooldown_enabled"` GlobalCooldownSeconds int `json:"global_cooldown_seconds"` ShouldRedemptionsSkipRequestQueue bool `json:"should_redemptions_skip_request_queue"` }
type UpdateChannelCustomRewardsRedemptionStatusParams ¶ added in v1.50.0
type UpdateChatSettingsParams ¶ added in v1.42.7
type UpdateChatSettingsParams struct { // Required, the ID of the broadcaster whose chat settings you want to update BroadcasterID string `query:"broadcaster_id"` // Required, the ID of a user that has moderator privileges in the BroadcasterID's channel. // The ID must match the specified User Access Token ModeratorID string `query:"moderator_id"` // Optional, set to true if only emotes are allowed // If unset (i.e. nil), no change to this setting will be made EmoteMode *bool `json:"emote_mode,omitempty"` // Optional, set to true if only followers may chat // If unset (i.e. nil), no change to this setting will be made FollowerMode *bool `json:"follower_mode,omitempty"` // Optional, time in minutes a user must have been following to chat. // If unset (i.e. nil), no change to this setting will be made // If set, FollowerMode must be set to true. // Possible values are 0 (no time restriction) through 129600 (3 months) FollowerModeDuration *int `json:"follower_mode_duration,omitempty"` // Optional, set to true if there's a delay before chat messages appear for non-moderators // If unset (i.e. nil), no change to this setting will be made NonModeratorChatDelay *bool `json:"non_moderator_chat_delay,omitempty"` // Optional, time in seconds before messages appear for non-moderators // If unset (i.e. nil), no change to this setting will be made // If set, FollowerMode must be set to true. // Possible values are 2, 4, or 6 NonModeratorChatDelayDuration *int `json:"non_moderator_chat_delay_duration,omitempty"` // Optional, set to true if chatters must wait some extra time between sending more messages // If unset (i.e. nil), no change to this setting will be made SlowMode *bool `json:"slow_mode,omitempty"` // Optional, time in seconds chatters must wait between sending messages // If unset (i.e. nil), no change to this setting will be made // If set, SlowMode must be set to true. // Possible values are 3 through 120 seconds SlowModeWaitTime *int `json:"slow_mode_wait_time,omitempty"` // Optional, set to true if only subscribers may chat // If unset (i.e. nil), no change to this setting will be made SubscriberMode *bool `json:"subscriber_mode,omitempty"` // Optional, set to true if users may only post "unique messages" in chat // If unset (i.e. nil), no change to this setting will be made UniqueChatMode *bool `json:"unique_chat_mode,omitempty"` }
type UpdateChatSettingsResponse ¶ added in v1.42.7
type UpdateChatSettingsResponse struct { ResponseCommon Data ManyChatSettings }
type UpdateDropsEntitlementsParams ¶ added in v1.33.2
type UpdateDropsEntitlementsResponse ¶ added in v1.33.2
type UpdateDropsEntitlementsResponse struct { ResponseCommon Data ManyUpdatedEntitlementSet }
type UpdateScheduleParams ¶ added in v1.50.0
type UpdateScheduleResponse ¶ added in v1.50.0
type UpdateScheduleResponse struct {
ResponseCommon
}
type UpdateScheduleSegmentData ¶ added in v1.50.0
type UpdateScheduleSegmentData struct {
Schedule ScheduleData `json:"data"`
}
type UpdateScheduleSegmentParams ¶ added in v1.50.0
type UpdateScheduleSegmentParams struct { BroadcasterID string `json:"broadcaster_id"` ID string `json:"id"` StartTime Time `json:"start_time"` Duration string `json:"duration"` CategoryID string `json:"category_id"` Title string `json:"title"` IsCanceled bool `json:"is_canceled"` Timezone string `json:"timezone"` }
type UpdateScheduleSegmentResponse ¶ added in v1.50.0
type UpdateScheduleSegmentResponse struct { ResponseCommon Data UpdateScheduleSegmentData }
type UpdateUserChatColorParams ¶ added in v1.42.7
type UpdateUserChatColorParams struct { UserID string `query:"user_id"` Color string `query:"color"` }
UpdateUserChatColorParams are the parameters for UpdateUserChatColor
type UpdateUserChatColorResponse ¶ added in v1.42.7
type UpdateUserChatColorResponse struct {
ResponseCommon
}
UpdateUserChatColorResponse is the response for UpdateUserChatColor
type UpdateUserExtensionsPayload ¶ added in v0.5.7
type UpdateUserExtensionsPayload struct { Component map[string]UserActiveExtensionInfo `json:"component,omitempty"` Overlay map[string]UserActiveExtensionInfo `json:"overlay,omitempty"` Panel map[string]UserActiveExtensionInfo `json:"panel,omitempty"` }
type UpdateUserParams ¶ added in v0.5.0
type UpdateUserParams struct {
Description string `query:"description"`
}
type UpdatedEntitlementSet ¶ added in v1.33.2
type User ¶
type User struct { ID string `json:"id"` Login string `json:"login"` DisplayName string `json:"display_name"` Type string `json:"type"` BroadcasterType string `json:"broadcaster_type"` Description string `json:"description"` ProfileImageURL string `json:"profile_image_url"` OfflineImageURL string `json:"offline_image_url"` ViewCount int `json:"view_count"` Email string `json:"email"` CreatedAt Time `json:"created_at"` }
type UserAccessTokenResponse ¶
type UserAccessTokenResponse struct { ResponseCommon Data AccessCredentials }
type UserActiveExtension ¶ added in v0.5.6
type UserActiveExtension struct { Component map[string]UserActiveExtensionInfo `json:"component"` Overlay map[string]UserActiveExtensionInfo `json:"overlay"` Panel map[string]UserActiveExtensionInfo `json:"panel"` }
type UserActiveExtensionInfo ¶ added in v0.5.6
type UserActiveExtensionSet ¶ added in v0.5.6
type UserActiveExtensionSet struct {
UserActiveExtensions UserActiveExtension `json:"data"`
}
type UserActiveExtensionsParams ¶ added in v0.5.6
type UserActiveExtensionsParams struct {
UserID string `query:"user_id"` // Optional, limit 1
}
type UserActiveExtensionsResponse ¶ added in v0.5.6
type UserActiveExtensionsResponse struct { ResponseCommon Data UserActiveExtensionSet }
type UserBitTotal ¶
type UserBlocked ¶ added in v1.31.0
type UserChatColorResponse ¶ added in v1.42.7
type UserChatColorResponse struct { ResponseCommon Data GetUserChatColorResponse }
UserChatColorResponse is the response from GetUserChatColor
type UserExtension ¶ added in v0.5.6
type UserExtensionsResponse ¶ added in v0.5.6
type UserExtensionsResponse struct { ResponseCommon Data ManyUserExtensions }
type UserFollow ¶
type UserSubscription ¶ added in v1.31.0
type UserSubscription struct { BroadcasterID string `json:"broadcaster_id"` BroadcasterLogin string `json:"broadcaster_login"` BroadcasterName string `json:"broadcaster_name"` IsGift bool `json:"is_gift"` GifterLogin string `json:"gifter_login"` GifterName string `json:"gifter_name"` Tier string `json:"tier"` }
type UserSubscriptionResponse ¶ added in v1.31.0
type UserSubscriptionResponse struct { ResponseCommon Data ManyUserSubscriptions }
type UserSubscriptionsParams ¶ added in v1.31.0
type UsersBlockedParams ¶ added in v1.31.0
type UsersBlockedResponse ¶ added in v1.31.0
type UsersBlockedResponse struct { ResponseCommon Data ManyUsersBlocked }
type UsersFollowsParams ¶
type UsersFollowsResponse ¶
type UsersFollowsResponse struct { ResponseCommon Data ManyFollows }
type UsersParams ¶
type UsersResponse ¶
type UsersResponse struct { ResponseCommon Data ManyUsers }
type ValidateTokenResponse ¶ added in v0.5.9
type ValidateTokenResponse struct { ResponseCommon Data validateTokenDetails }
type Video ¶
type Video struct { ID string `json:"id"` UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` StreamID string `json:"stream_id"` Title string `json:"title"` Description string `json:"description"` CreatedAt string `json:"created_at"` PublishedAt string `json:"published_at"` URL string `json:"url"` ThumbnailURL string `json:"thumbnail_url"` Viewable string `json:"viewable"` ViewCount int `json:"view_count"` Language string `json:"language"` Type string `json:"type"` Duration string `json:"duration"` MutedSegments []VideoMutedSegment `json:"muted_segments"` }
type VideoMarker ¶ added in v0.4.1
type VideoMutedSegment ¶ added in v1.31.0
type VideosParams ¶
type VideosParams struct { IDs []string `query:"id"` // Limit 100 UserID string `query:"user_id"` // Limit 1 GameID string `query:"game_id"` // Limit 1 // Optional After string `query:"after"` Before string `query:"before"` First int `query:"first,20"` // Limit 100 Language string `query:"language"` // Limit 1 Period string `query:"period,all"` // "all" (default), "day", "month", and "week" Sort string `query:"sort,time"` // "time" (default), "trending", and "views" Type string `query:"type,all"` // "all" (default), "upload", "archive", and "highlight" }
type VideosResponse ¶
type VideosResponse struct { ResponseCommon Data ManyVideos }
type WebhookSubscription ¶ added in v0.3.1
type WebhookSubscriptionPayload ¶ added in v0.4.2
type WebhookSubscriptionResponse ¶ added in v0.4.2
type WebhookSubscriptionResponse struct {
ResponseCommon
}
type WebhookSubscriptionsParams ¶ added in v0.3.1
type WebhookSubscriptionsResponse ¶ added in v0.3.1
type WebhookSubscriptionsResponse struct { ResponseCommon Data ManyWebhookSubscriptions }
type WebhookTopic ¶ added in v0.4.2
type WebhookTopic int
WebhookTopic is a topic that relates to a specific webhook event.
const ( UserFollowsTopic WebhookTopic = iota StreamChangedTopic UserChangedTopic GameAnalyticsTopic ExtensionAnalyticsTopic )
Enumerated webhook topics
func GetWebhookTopicFromRequest ¶ added in v0.4.2
func GetWebhookTopicFromRequest(req *http.Request) WebhookTopic
GetWebhookTopicFromRequest inspects the "Link" request header to determine if it matches against any recognised webhooks topics. The matched topic is returned. Otherwise -1 is returned.
Source Files ¶
- ads.go
- analytics.go
- authentication.go
- bits.go
- categories.go
- channels.go
- channels_editors.go
- channels_points.go
- channels_vips.go
- charity.go
- chat.go
- clips.go
- drops.go
- entitlement_codes.go
- entitlement_grants.go
- eventsub.go
- extension_configuration.go
- extension_jwt.go
- extension_pubsub.go
- extension_secrets.go
- extensions.go
- games.go
- goals.go
- helix.go
- hype_train.go
- moderation.go
- moderation_automod.go
- polls.go
- predictions.go
- raids.go
- schedule.go
- shoutout.go
- stream_markers.go
- streams.go
- subscriptions.go
- time.go
- user_extensions.go
- users.go
- videos.go
- webhooks.go
- whispers.go