Extensions
| Function | Returns |
|---|---|
getReleasedExtension | Promise<Extension> |
getLiveChannelsWithExtension | Promise<PaginatedResult<ChannelReference>> |
getExtensionBitsProducts | Promise<Array<ExtensionBitsProduct>> |
putExtensionBitsProduct | Promise<ExtensionBitsProduct> |
getExtensionTransactions | Promise<PaginatedResult<ExtensionTransaction>> |
Functions
getReleasedExtension
twitch.extension.getReleasedExtension(id: string, version?: string): Promise<Extension>
getLiveChannelsWithExtension
twitch.extension.getLiveChannelsWithExtension(id: string, pagination?: ForwardPagination): Promise<PaginatedResult<ChannelReference>>
getExtensionBitsProducts
twitch.extension.getExtensionBitsProducts(includeDisabled?: boolean): Promise<Array<ExtensionBitsProduct>>
putExtensionBitsProduct
twitch.extension.putExtensionBitsProduct(data: ExtensionBitsProductUpdatePayload): Promise<ExtensionBitsProduct>
getExtensionTransactions
twitch.extension.getExtensionTransactions(id: string, filter?: ExtensionTransactionsPaginatedFilter): Promise<PaginatedResult<ExtensionTransaction>>
Types
ChannelReference
type ChannelReference = {
broadcasterId: string
broadcasterName: string
gameId: string
gameName: string
title: string
}
Extension
type Extension = {
authorName: string
bitsEnabled: boolean
canInstall: boolean
configurationLocation: ExtensionConfigurationLocation
description: string
eulaTosUrl: string
hasChatSupport: boolean
iconUrl: string
iconUrls: {
'100X100': string
'24X24': string
'300X200': string
}
id: string
name: string
privacyPolicyUrl: string
requestIdentityLink: boolean
screenshotUrls: Array<string>
state: ExtensionState
subscriptionsSupportLevel: ExtensionSubscriptionsSupportLevel
summary: string
supportEmail: string
version: string
viewerSummary: string
views: ExtensionViews
allowlistedConfigUrls: Array<string>
allowlistedPanelUrls: Array<string>
}
ExtensionBitsProduct
type ExtensionBitsProduct = {
sku: string
cost: ExtensionBitsProductCost
inDevelopment: boolean
displayName: string
isBroadcast: boolean
expiration: string
}
ExtensionBitsProductCost
type ExtensionBitsProductCost = {
amount: number
type: "bits"
}
ExtensionBitsProductUpdatePayload
type ExtensionBitsProductUpdatePayload = {
sku: string
cost: number
displayName: string
inDevelopment?: boolean
broadcast?: boolean
expirationDate?: string
}
ExtensionComponentView
type ExtensionComponentView = {
viewerUrl: string
aspectWidth: number
aspectHeight: number
aspectRatioX: number
aspectRatioY: number
autoscale: boolean
scalePixels: number
targetHeight: number
size: number
zoom: boolean
zoomPixels: number
canLinkExternalContent: boolean
}
ExtensionConfigView
type ExtensionConfigView = {
viewerUrl: string
canLinkExternalContent: boolean
}
ExtensionConfigurationLocation
type ExtensionConfigurationLocation = "hosted" | "custom" | "none"
ExtensionMobileView
type ExtensionMobileView = {
viewerUrl: string
}
ExtensionOverlayView
type ExtensionOverlayView = {
viewerUrl: string
canLinkExternalContent: boolean
}
ExtensionPanelView
type ExtensionPanelView = {
viewerUrl: string
height: number
canLinkExternalContent: boolean
}
ExtensionProduct
type ExtensionProduct = {
sku: string
cost: ExtensionProductCost
displayName: string
inDevelopment: boolean
}
ExtensionProductCost
type ExtensionProductCost = {
amount: number
type: "bits"
}
ExtensionState
type ExtensionState = "InTest" | "InReview" | "Rejected" | "Approved" | "Released" | "Deprecated" | "PendingAction" | "AssetsUploaded" | "Deleted"
ExtensionSubscriptionsSupportLevel
type ExtensionSubscriptionsSupportLevel = "none" | "optional"
ExtensionTransaction
type ExtensionTransaction = {
id: string
timestamp: string
broadcasterId: string
broadcasterLogin: string
broadcasterName: string
userId: string
userLogin: string
userName: string
productType: "BITS_IN_EXTENSION"
productData: ExtensionProduct
}
ExtensionTransactionsPaginatedFilter
type ExtensionTransactionsPaginatedFilter = {
transactionIds?: Array<string>
before?: string
limit?: number
after?: string
}
ExtensionViews
type ExtensionViews = {
mobile?: ExtensionMobileView
panel?: ExtensionPanelView
videoOverlay?: ExtensionOverlayView
component?: ExtensionComponentView
config?: ExtensionConfigView
}
ForwardPagination
type ForwardPagination = {
limit?: number
after?: string
}
PaginatedResult
type PaginatedResult<T> = {
data: Array<T>
cursor?: string
}