Skip to main content

Moderation

FunctionReturns
getBannedUsersPromise<PaginatedResult<Ban>>
checkUserBanPromise<boolean>
getModeratorsPromise<PaginatedResult<Moderator>>
getModeratedChannelsPromise<PaginatedResult<ModeratedChannel>>
checkUserModPromise<boolean>
addModeratorPromise<void>
removeModeratorPromise<void>
checkAutoModStatusPromise<Array<AutoModStatus>>
processHeldAutoModMessagePromise<void>
getAutoModSettingsPromise<Array<AutoModSettings>>
updateAutoModSettingsPromise<Array<AutoModSettings>>
banUserPromise<Array<BanUser>>
unbanUserPromise<void>
getBlockedTermsPromise<PaginatedResult<BlockedTerm>>
addBlockedTermPromise<Array<BlockedTerm>>
removeBlockedTermPromise<void>
deleteChatMessagesPromise<void>
getShieldModeStatusPromise<ShieldModeStatus>
updateShieldModeStatusPromise<ShieldModeStatus>
getUnbanRequestsPromise<PaginatedResult<UnbanRequest>>
resolveUnbanRequestPromise<UnbanRequest>
warnUserPromise<Warning>

Functions​

getBannedUsers​

twitch.moderation.getBannedUsers(filter?: BanFilter): Promise<PaginatedResult<Ban>>

checkUserBan​

twitch.moderation.checkUserBan(userId: UserIdResolvable): Promise<boolean>

getModerators​

twitch.moderation.getModerators(filter?: ModeratorFilter): Promise<PaginatedResult<Moderator>>

getModeratedChannels​

twitch.moderation.getModeratedChannels(userId: UserIdResolvable, filter?: ForwardPagination): Promise<PaginatedResult<ModeratedChannel>>

checkUserMod​

twitch.moderation.checkUserMod(userId: UserIdResolvable): Promise<boolean>

addModerator​

twitch.moderation.addModerator(userId: UserIdResolvable): Promise<void>

removeModerator​

twitch.moderation.removeModerator(userId: UserIdResolvable): Promise<void>

checkAutoModStatus​

twitch.moderation.checkAutoModStatus(data: Array<CheckAutoModStatus>): Promise<Array<AutoModStatus>>

processHeldAutoModMessage​

twitch.moderation.processHeldAutoModMessage(userId: UserIdResolvable, messageId: string, allow: boolean): Promise<void>

getAutoModSettings​

twitch.moderation.getAutoModSettings(): Promise<Array<AutoModSettings>>

updateAutoModSettings​

twitch.moderation.updateAutoModSettings(data: AutoModSettings): Promise<Array<AutoModSettings>>

banUser​

twitch.moderation.banUser(data: BanUserRequest): Promise<Array<BanUser>>

unbanUser​

twitch.moderation.unbanUser(userId: UserIdResolvable): Promise<void>

getBlockedTerms​

twitch.moderation.getBlockedTerms(pagination?: ForwardPagination): Promise<PaginatedResult<BlockedTerm>>

addBlockedTerm​

twitch.moderation.addBlockedTerm(text: string): Promise<Array<BlockedTerm>>

removeBlockedTerm​

twitch.moderation.removeBlockedTerm(moderatorId: UserIdResolvable, termId: string): Promise<void>

deleteChatMessages​

twitch.moderation.deleteChatMessages(messageId?: string): Promise<void>

getShieldModeStatus​

twitch.moderation.getShieldModeStatus(): Promise<ShieldModeStatus>

updateShieldModeStatus​

twitch.moderation.updateShieldModeStatus(activate: boolean): Promise<ShieldModeStatus>

getUnbanRequests​

twitch.moderation.getUnbanRequests(status: UnbanRequestStatus, filter?: UnbanRequestFilter): Promise<PaginatedResult<UnbanRequest>>

resolveUnbanRequest​

twitch.moderation.resolveUnbanRequest(unbanRequestId: string, approved: boolean, resolutionMessage?: string): Promise<UnbanRequest>

warnUser​

twitch.moderation.warnUser(user: UserIdResolvable, reason: string): Promise<Warning>

Types​

AutoModSettings​

type AutoModSettings = {
broadcasterId: string
moderatorId: string
overallLevel: number | null
disability: number
aggression: number
sexualitySexOrGender: number
misogyny: number
bullying: number
swearing: number
raceEthnicityOrReligion: number
sexBasedTerms: number
}

AutoModStatus​

type AutoModStatus = {
msgId: string
isPermitted: boolean
}

Ban​

type Ban = {
userLogin: string
userName: string
moderatorLogin: string
moderatorName: string
expiresAt: string
reason: string
userId: string
moderatorId: string
createdAt: string
}

BanFilter​

type BanFilter = {
userId?: string | Array<string>
limit?: number
after?: string
}

BanUser​

type BanUser = {
broadcasterId: string
endTime: string | null
userId: string
moderatorId: string
createdAt: string
}

BanUserRequest​

type BanUserRequest = {
duration?: number
reason?: string
user: UserIdResolvable
}

BlockedTerm​

type BlockedTerm = {
broadcasterId: string
createdAt: string
expiresAt: string
id: string
moderatorId: string
text: string
updatedAt: string
}

CheckAutoModStatus​

type CheckAutoModStatus = {
messageId: string
messageText: string
}

ForwardPagination​

type ForwardPagination = {
limit?: number
after?: string
}

ModeratedChannel​

type ModeratedChannel = {
broadcasterId: string
broadcasterLogin: string
broadcasterName: string
}

Moderator​

type Moderator = {
userId: string
userLogin: string
userName: string
}

ModeratorFilter​

type ModeratorFilter = {
userId?: string | Array<string>
limit?: number
after?: string
}

PaginatedResult​

type PaginatedResult<T> = {
data: Array<T>
cursor?: string
}

ShieldModeStatus​

type ShieldModeStatus = {
isActive: boolean
moderatorId: string
moderatorLogin: string
moderatorName: string
lastActivatedAt: string
}

UnbanRequest​

type UnbanRequest = {
id: string
moderatorId: string
moderatorLogin: string
moderatorName: string
userId: string
userLogin: string
userName: string
text: string
status: UnbanRequestStatus
createdAt: string
resolutionText: string | null
resolvedAt: string | null
broadcasterId: string
broadcasterLogin: string
broadcasterName: string
}

UnbanRequestFilter​

type UnbanRequestFilter = {
userId?: string
limit?: number
after?: string
}

UnbanRequestStatus​

type UnbanRequestStatus = "canceled" | "approved" | "denied" | "pending" | "acknowledged"

UserIdResolvable​

type UserIdResolvable = string | UserIdResolvableType

UserIdResolvableType​

type UserIdResolvableType = {
id: string
}

Warning​

type Warning = {
broadcasterId: string
moderatorId: string
userId: string
reason: string
}