Users
| Function | Returns |
|---|---|
getUsersByIds | Promise<Array<User>> |
getUsersByNames | Promise<Array<User>> |
getUserById | Promise<User | null> |
getUserByIdBatched | Promise<User | null> |
getUserByName | Promise<User | null> |
getUserByNameBatched | Promise<User | null> |
getAuthenticatedUser | Promise<PrivilegedUser> |
updateAuthenticatedUser | Promise<PrivilegedUser> |
getBlocks | Promise<PaginatedResult<UserBlock>> |
createBlock | Promise<void> |
deleteBlock | Promise<void> |
getExtensionsForAuthenticatedUser | Promise<Array<UserExtension>> |
getActiveExtensions | Promise<InstalledExtensionList> |
updateActiveExtensionsForAuthenticatedUser | Promise<InstalledExtensionList> |
Functions
getUsersByIds
twitch.user.getUsersByIds(userIds: Array<UserIdResolvable>): Promise<Array<User>>
getUsersByNames
twitch.user.getUsersByNames(userNames: Array<UserNameResolvable>): Promise<Array<User>>
getUserById
twitch.user.getUserById(userId: UserIdResolvable): Promise<User | null>
getUserByIdBatched
twitch.user.getUserByIdBatched(userId: UserIdResolvable): Promise<User | null>
getUserByName
twitch.user.getUserByName(userName: UserNameResolvable): Promise<User | null>
getUserByNameBatched
twitch.user.getUserByNameBatched(userName: UserNameResolvable): Promise<User | null>
getAuthenticatedUser
twitch.user.getAuthenticatedUser(userId: UserIdResolvable, withEmail?: boolean): Promise<PrivilegedUser>
updateAuthenticatedUser
twitch.user.updateAuthenticatedUser(userId: UserIdResolvable, data: UserUpdate): Promise<PrivilegedUser>
getBlocks
twitch.user.getBlocks(userId: UserIdResolvable, pagination?: ForwardPagination): Promise<PaginatedResult<UserBlock>>
createBlock
twitch.user.createBlock(userId: UserIdResolvable, additionalInfo?: UserBlockAdditionalInfo): Promise<void>
deleteBlock
twitch.user.deleteBlock(userId: UserIdResolvable): Promise<void>
getExtensionsForAuthenticatedUser
twitch.user.getExtensionsForAuthenticatedUser(withInactive?: boolean): Promise<Array<UserExtension>>
getActiveExtensions
twitch.user.getActiveExtensions(userId: UserIdResolvable, withDev?: boolean): Promise<InstalledExtensionList>
updateActiveExtensionsForAuthenticatedUser
twitch.user.updateActiveExtensionsForAuthenticatedUser(data: UserExtensionUpdatePayload): Promise<InstalledExtensionList>
Types
BroadcasterType
type BroadcasterType = "" | "partner" | "affiliate"
EmptySlot
type EmptySlot = {
active: false
}
ExtensionType
type ExtensionType = "panel" | "overlay" | "component" | "mobile"
ForwardPagination
type ForwardPagination = {
limit?: number
after?: string
}
InstalledExtension
type InstalledExtension = {
active: true
id: string
version: string
name: string
}
InstalledExtensionList
type InstalledExtensionList = {
panel: {
'1': InstalledExtension | EmptySlot
'2': InstalledExtension | EmptySlot
'3': InstalledExtension | EmptySlot
}
overlay: {
'1': InstalledExtension | EmptySlot
}
component: {
'1': InstalledExtension | EmptySlot
'2': InstalledExtension | EmptySlot
}
}
PaginatedResult
type PaginatedResult<T> = {
data: Array<T>
cursor?: string
}
PrivilegedUser
type PrivilegedUser = {
email?: string
id: string
login: string
displayName: string
description: string
type: UserType
broadcasterType: BroadcasterType
profileImageUrl: string
offlineImageUrl: string
viewCount: number
createdAt: string
}
User
type User = {
id: string
login: string
displayName: string
description: string
type: UserType
broadcasterType: BroadcasterType
profileImageUrl: string
offlineImageUrl: string
viewCount: number
createdAt: string
}
UserBlock
type UserBlock = {
userId: string
userLogin: string
displayName: string
}
UserBlockAdditionalInfo
type UserBlockAdditionalInfo = {
sourceContext?: "chat" | "whisper"
reason?: "other" | "spam" | "harassment"
}
UserExtension
type UserExtension = {
canActivate: boolean
type: Array<ExtensionType>
id: string
version: string
name: string
}
UserExtensionUpdatePayload
type UserExtensionUpdatePayload = {
panel?: {
'1'?: UserExtensionUpdatePayloadInactiveSlot | UserExtensionUpdatePayloadActiveSlot
'2'?: UserExtensionUpdatePayloadInactiveSlot | UserExtensionUpdatePayloadActiveSlot
'3'?: UserExtensionUpdatePayloadInactiveSlot | UserExtensionUpdatePayloadActiveSlot
}
overlay?: {
'1'?: UserExtensionUpdatePayloadInactiveSlot | UserExtensionUpdatePayloadActiveSlot
}
component?: {
'1'?: UserExtensionUpdatePayloadInactiveSlot | UserExtensionUpdatePayloadActiveSlot
'2'?: UserExtensionUpdatePayloadInactiveSlot | UserExtensionUpdatePayloadActiveSlot
}
}
UserExtensionUpdatePayloadActiveSlot
type UserExtensionUpdatePayloadActiveSlot = {
active: true
id: string
version?: string
}
UserExtensionUpdatePayloadInactiveSlot
type UserExtensionUpdatePayloadInactiveSlot = {
active: false
}
UserIdResolvable
type UserIdResolvable = string | UserIdResolvableType
UserIdResolvableType
type UserIdResolvableType = {
id: string
}
UserNameResolvable
type UserNameResolvable = string | UserNameResolveableType
UserNameResolveableType
type UserNameResolveableType = {
name: string
}
UserType
type UserType = "" | "staff" | "admin" | "global_mod"
UserUpdate
type UserUpdate = {
description?: string
}