Skip to content

Twitch script functions

Functions for C# (Cb.Call) and Python (cb.call). See Script functions for how to use them.

twitch.addBlockedTerm

Adds a word or phrase to your Twitch blocked terms, so messages with it are hidden. Fails when the term is empty. Fails when Twitch is not connected.

Value What to put in
term The word or phrase to block, like "buy followers".

Gives back: An object with blockedTermId.

var answer = await Cb.Call("twitch.addBlockedTerm", new { term = "buy followers" });
answer = cb.call("twitch.addBlockedTerm", term="buy followers")

twitch.addModerator

Makes a viewer a moderator in your Twitch channel. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: Nothing.

var answer = await Cb.Call("twitch.addModerator", new { user = "coolviewer42" });
answer = cb.call("twitch.addModerator", user="coolviewer42")

twitch.addSuspiciousStatus

Marks a viewer as suspicious. "Active Monitoring" flags their messages for your mods; "Restricted" keeps their messages out of chat. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.
status Optional. "Active Monitoring" (the default) or "Restricted".

Gives back: An object with suspiciousUser, suspiciousUserName, suspiciousUserId, suspiciousUserType, suspiciousStatusResult, suspiciousStatus (like "RESTRICTED") and suspiciousTypes.

var answer = await Cb.Call("twitch.addSuspiciousStatus", new { user = "coolviewer42", status = "Restricted" });
answer = cb.call("twitch.addSuspiciousStatus", user="coolviewer42", status="Restricted")

twitch.addTag

Adds one tag to your Twitch channel. Your other tags stay. Fails when Twitch is not connected.

Value What to put in
tag The tag, like "Cozy".

Gives back: Nothing.

var answer = await Cb.Call("twitch.addTag", new { tag = "Cozy" });
answer = cb.call("twitch.addTag", tag="Cozy")

twitch.addVip

Makes a viewer a VIP in your Twitch channel. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: Nothing.

var answer = await Cb.Call("twitch.addVip", new { user = "coolviewer42" });
answer = cb.call("twitch.addVip", user="coolviewer42")

twitch.assignGuestStarSlot

Puts an invited guest into a Twitch Guest Star slot. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.
slot Optional. The slot number, from 1 up to the number of slots, like "2". Leave it out for 1.
sessionId Optional. The Guest Star session id. Leave it out for the session running now.

Gives back: Nothing.

var answer = await Cb.Call("twitch.assignGuestStarSlot", new { user = "coolviewer42", slot = "2" });
answer = cb.call("twitch.assignGuestStarSlot", user="coolviewer42", slot="2")

twitch.ban

Bans a viewer from your Twitch chat for good. Fails when the user is not found. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.
reason Optional. Why, like "Spam".

Gives back: An object with bannedUser (display name), bannedUserName (login), bannedUserId, bannedUserType ("twitch") and banResult (true).

var answer = await Cb.Call("twitch.ban", new { user = "spambot123", reason = "Spam" });
answer = cb.call("twitch.ban", user="spambot123", reason="Spam")

twitch.cancelPrediction

Cancels the running Twitch prediction and gives everyone their points back. Fails when Twitch is not connected.

Gives back: An object with cancelled (true), active and the prediction's details: prediction.Id, prediction.Title, prediction.outcome0.title and so on.

var answer = await Cb.Call("twitch.cancelPrediction");
answer = cb.call("twitch.cancelPrediction")

twitch.cancelRaid

Stops the raid you started, before it goes. Fails when Twitch is not connected.

Gives back: Nothing.

var answer = await Cb.Call("twitch.cancelRaid");
answer = cb.call("twitch.cancelRaid")

twitch.clearChat

Clears every message from your Twitch chat. Fails when Twitch is not connected.

Gives back: An object with clearSuccess (true).

var answer = await Cb.Call("twitch.clearChat");
answer = cb.call("twitch.clearChat")

twitch.clearTags

Removes every tag from your Twitch channel. Fails when Twitch is not connected.

Gives back: Nothing.

var answer = await Cb.Call("twitch.clearTags");
answer = cb.call("twitch.clearTags")

twitch.configureRewards

Turns many channel point rewards on, off, paused or unpaused in one go. Fails when a name matches no reward or group. Fails when Twitch is not connected.

Value What to put in
enable Optional. Reward titles, ids or reward group names, one per line or separated by |.
disable Optional. Reward titles, ids or reward group names, one per line or separated by |.
pause Optional. Reward titles, ids or reward group names, one per line or separated by |.
unpause Optional. Reward titles, ids or reward group names, one per line or separated by |.
disableNotConfigured Optional. true also turns off every reward that is in no reward group. Leave it out for false.

Gives back: An object with rewardsChanged and rewardsSkipped (rewards Cuebot could not change).

var answer = await Cb.Call("twitch.configureRewards", new { enable = "Hydrate!|Stretch", disable = "Games" });
answer = cb.call("twitch.configureRewards", enable="Hydrate!|Stretch", disable="Games")

twitch.createClip

Makes a clip of your live Twitch stream. Fails when Twitch is not connected.

Value What to put in
hasDelay Optional. true makes the clip account for your stream delay. Leave it out for false.

Gives back: An object with clipId, clipEditUrl, clipUrl, createClipSuccess, createClipId, createClipCreatedAt and createClipUrl.

var answer = await Cb.Call("twitch.createClip");
answer = cb.call("twitch.createClip")

twitch.createGuestStarSession

Starts a Twitch Guest Star session. Fails when Twitch is not connected.

Gives back: An object with guestStarActive, guestStarSessionId, guestStarGuestCount, and guestStarGuest0, guestStarGuest0UserName, guestStarGuest0UserId, guestStarGuest0Slot, guestStarGuest0IsLive, guestStarGuest0Volume and so on.

var answer = await Cb.Call("twitch.createGuestStarSession");
answer = cb.call("twitch.createGuestStarSession")

twitch.createMarker

Adds a stream marker at this moment, so you can find it again later in your video. Fails when Twitch is not connected.

Value What to put in
description Optional. A short note for the marker, like "Epic win".

Gives back: An object with markerId, markerPosition (seconds into the stream), streamMarkerSuccess, streamMarkerId, streamMarkerCreatedAt, streamMarkerDescription and streamMarkerPosition.

var answer = await Cb.Call("twitch.createMarker", new { description = "Epic win" });
answer = cb.call("twitch.createMarker", description="Epic win")

twitch.createPoll

Starts a Twitch poll in your chat with 2 to 5 choices. Fails when Twitch is not connected.

Value What to put in
title The question, like "Which game next?"
choices The answers as text, one per line or separated by |, like "Minecraft|Fortnite|Tetris".
duration Optional. How long the poll runs, in seconds (15 to 1800). Leave it out for 60.
pointsPerVote Optional. Channel points for each extra vote. Leave it out (or 0) to turn extra votes off.

Gives back: An object with pollId and success (true).

var answer = await Cb.Call("twitch.createPoll", new { title = "Which game next?", choices = "Minecraft|Fortnite|Tetris", duration = 120 });
answer = cb.call("twitch.createPoll", title="Which game next?", choices="Minecraft|Fortnite|Tetris", duration=120)

twitch.createPrediction

Starts a Twitch prediction: viewers bet channel points on 2 to 10 outcomes. Fails when Twitch is not connected.

Value What to put in
title The question, like "Will I beat the boss?"
outcomes The outcomes as text, one per line or separated by |, like "Yes|No".
window Optional. How long viewers can bet, in seconds (30 to 1800). Leave it out for 120.

Gives back: An object with predictionId, prediction.Id and success (true).

var answer = await Cb.Call("twitch.createPrediction", new { title = "Will I beat the boss?", outcomes = "Yes|No", window = 60 });
answer = cb.call("twitch.createPrediction", title="Will I beat the boss?", outcomes="Yes|No", window=60)

twitch.createReward

Makes a new channel point reward. Cuebot can change it later because it made it. Fails when Twitch is not connected.

Value What to put in
title The reward name, like "Hydrate!"
cost Optional. The price in channel points. Leave it out for 100.
prompt Optional. The text viewers see under the title.
inputRequired Optional. true makes viewers type a message when they redeem. Leave it out for false.
enabled Optional. false makes it hidden at first. Leave it out for true.

Gives back: An object with createdRewardId.

var answer = await Cb.Call("twitch.createReward", new { title = "Hydrate!", cost = 500, prompt = "Make me drink some water" });
answer = cb.call("twitch.createReward", title="Hydrate!", cost=500, prompt="Make me drink some water")

twitch.deleteGuestStarInvite

Takes back a viewer's Twitch Guest Star invite. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.
sessionId Optional. The Guest Star session id. Leave it out for the session running now.

Gives back: Nothing.

var answer = await Cb.Call("twitch.deleteGuestStarInvite", new { user = "coolviewer42" });
answer = cb.call("twitch.deleteGuestStarInvite", user="coolviewer42")

twitch.deleteGuestStarSlot

Removes a guest from their Twitch Guest Star slot. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.
slot Optional. The slot number, from 1 up to the number of slots, like "2". Leave it out for 1.
reinvite Optional. true sends them back to the invite list. Leave it out for false.
sessionId Optional. The Guest Star session id. Leave it out for the session running now.

Gives back: Nothing.

var answer = await Cb.Call("twitch.deleteGuestStarSlot", new { user = "coolviewer42", slot = "2" });
answer = cb.call("twitch.deleteGuestStarSlot", user="coolviewer42", slot="2")

twitch.deleteMessage

Deletes one message from your Twitch chat. Fails when Twitch is not connected.

Value What to put in
messageId Optional. The id of the message. Leave it out for the chat message that triggered the action (%messageId%).

Gives back: Nothing.

var answer = await Cb.Call("twitch.deleteMessage", new { messageId = "b1c2d3e4-1234-5678-9abc-def012345678" });
answer = cb.call("twitch.deleteMessage", messageId="b1c2d3e4-1234-5678-9abc-def012345678")

twitch.deleteReward

Deletes a channel point reward for good. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.

Gives back: Nothing.

var answer = await Cb.Call("twitch.deleteReward", new { reward = "Hydrate!" });
answer = cb.call("twitch.deleteReward", reward="Hydrate!")

twitch.emoteOnly

Turns emote-only chat on or off: viewers can only send emotes. Fails when Twitch is not connected.

Value What to put in
enabled Optional. true turns it on, false turns it off. Leave it out for true.

Gives back: Nothing.

var answer = await Cb.Call("twitch.emoteOnly", new { enabled = true });
answer = cb.call("twitch.emoteOnly", enabled=True)

twitch.endGuestStarSession

Ends a Twitch Guest Star session. Fails when Twitch is not connected.

Value What to put in
sessionId Optional. The Guest Star session id. Leave it out for the session running now.

Gives back: Nothing.

var answer = await Cb.Call("twitch.endGuestStarSession");
answer = cb.call("twitch.endGuestStarSession")

twitch.endPoll

Ends the running Twitch poll early. Fails when Twitch is not connected.

Value What to put in
mode Optional. "Terminate" (the default) ends it and shows the results; "Archive" ends it and hides them. Capital letters do not matter.

Gives back: Nothing.

var answer = await Cb.Call("twitch.endPoll");
answer = cb.call("twitch.endPoll")

twitch.followerMode

Turns follower-only chat on or off: only followers can chat, optionally after following for some minutes. Fails when Twitch is not connected.

Value What to put in
enabled Optional. true turns it on, false turns it off. Leave it out for true.
minutes Optional. How long someone must have followed, in minutes (0 to 129600, which is 3 months). Leave it out for 0.

Gives back: Nothing.

var answer = await Cb.Call("twitch.followerMode", new { enabled = true, minutes = 10 });
answer = cb.call("twitch.followerMode", enabled=True, minutes=10)

twitch.getAdSchedule

Gets your Twitch ad schedule: when the next ad comes and how many snoozes you have. Fails when Twitch is not connected.

Gives back: An object with nextAdAt, lastAdAt, adDuration, prerollFreeTime, snoozeCount, snoozeRefreshAt, prerollFree and prerollFreeSeconds.

var answer = await Cb.Call("twitch.getAdSchedule");
answer = cb.call("twitch.getAdSchedule")

twitch.getBlockedTerms

Lists every blocked word or phrase of your Twitch channel. Fails when Twitch is not connected.

Gives back: A list, each with id and text.

var answer = await Cb.Call("twitch.getBlockedTerms");
answer = cb.call("twitch.getBlockedTerms")

twitch.getBot

Gives you your Twitch bot account, as set on the Twitch page. Works without asking Twitch.

Gives back: An object with userId, userName and connected. null when no bot account is signed in.

var answer = await Cb.Call("twitch.getBot");
answer = cb.call("twitch.getBot")

twitch.getBroadcaster

Gives you your signed-in Twitch account as Cuebot knows it. Works without asking Twitch.

Gives back: An object with userId, userName, connected (true when Twitch is connected) and scopes (the permissions you gave).

var answer = await Cb.Call("twitch.getBroadcaster");
answer = cb.call("twitch.getBroadcaster")

twitch.getBroadcasterInfo

Gets details about your own Twitch account, like partner or affiliate status. Fails when Twitch is not connected.

Gives back: An object with broadcasterUserId, broadcasterUserName, broadcasterUser, broadcasterType, broadcasterIsAffiliate, broadcasterIsPartner, broadcasterProfileImageUrl, broadcasterDescription, botUserId, botUserName and more.

var answer = await Cb.Call("twitch.getBroadcasterInfo");
answer = cb.call("twitch.getBroadcasterInfo")

twitch.getChannelInfo

Gets a Twitch channel's details: title, category, tags and more. Fails when the channel is not found. Fails when Twitch is not connected.

Value What to put in
user Optional. A channel's login name or "id:12345". Leave it out for your own channel.

Gives back: An object with channelId, channelUser, channelUserName, channelTitle, channelGame, channelGameId, channelTags, channelLanguage, channelContentLabels and channelIsBrandedContent.

var answer = await Cb.Call("twitch.getChannelInfo", new { user = "coolstreamer" });
answer = cb.call("twitch.getChannelInfo", user="coolstreamer")

twitch.getCharityCampaign

Gets your running Twitch charity campaign. Fails when Twitch is not connected.

Gives back: An object with charityActive, charityName, charityCurrent, charityTarget and charityCurrency. Values are empty when no campaign runs.

var answer = await Cb.Call("twitch.getCharityCampaign");
answer = cb.call("twitch.getCharityCampaign")

twitch.getCheermotes

Lists the Bits cheer emotes (cheermotes) that work in your channel, exactly as Twitch gives them. Fails when Twitch is not connected.

Gives back: A list of cheermotes in Twitch's own format (each with prefix, tiers and image links).

var answer = await Cb.Call("twitch.getCheermotes");
answer = cb.call("twitch.getCheermotes")

twitch.getClipDownloadUrls

Gets download links for clips of your channel. Twitch's links only work for a short time. Fails when Twitch is not connected.

Value What to put in
clipId Optional. The clip id, or up to 10 ids separated by commas. Leave it out for %clipId% (for example from twitch.createClip).

Gives back: An object with clipDownloadCount, clipDownloadUrl, clipLandscapeDownloadUrl and clipPortraitDownloadUrl (of the first clip), plus clipDownload0.clipId, clipDownload0.landscapeUrl and so on.

var answer = await Cb.Call("twitch.getClipDownloadUrls", new { clipId = "AwkwardHelplessSalamanderSwiftRage" });
answer = cb.call("twitch.getClipDownloadUrls", clipId="AwkwardHelplessSalamanderSwiftRage")

twitch.getClips

Lists clips of a Twitch channel or of a category, most viewed first. Handy for a clip player. Fails when Twitch is not connected.

Value What to put in
user Optional. A channel's login name or "id:12345". Leave it (and gameId) out for your own channel.
gameId Optional. A category id, to get that category's clips instead of a channel's.
startedAt Optional. Only clips made after this date and time, like "2026-10-01T00:00:00Z".
endedAt Optional. Only clips made before this date and time.
count Optional. How many clips at most. Leave it out (or 0) for up to 1000.
featured Optional. true gives only featured clips, false only the others. Leave it out for all.

Gives back: A list of clips, each with id, url, embedUrl, broadcasterName, creatorName, title, viewCount, createdAt, thumbnailUrl, duration, isFeatured and more.

var answer = await Cb.Call("twitch.getClips", new { count = 10 });
answer = cb.call("twitch.getClips", count=10)

twitch.getFollowAge

Tells you if and how long a viewer has followed your Twitch channel. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: An object with isFollowing, followedAt, followAgeDays, followAge (like "2 years, 3 months"), followDate, followAgeLong, followAgeShort, followAge.years and more.

var answer = await Cb.Call("twitch.getFollowAge", new { user = "coolviewer42" });
answer = cb.call("twitch.getFollowAge", user="coolviewer42")

twitch.getFollowerCount

Gets how many followers your Twitch channel has, and who followed last. Fails when Twitch is not connected.

Gives back: An object with followerCount, latestFollower, latestFollowerUserName and latestFollowerUserId.

var answer = await Cb.Call("twitch.getFollowerCount");
answer = cb.call("twitch.getFollowerCount")

twitch.getGuestStarInvites

Lists the people invited to your Twitch Guest Star session. Fails when Twitch is not connected.

Value What to put in
sessionId Optional. The Guest Star session id. Leave it out for the session running now.

Gives back: An object with guestStarInviteCount, guestStarInvites (user ids, separated by commas), and guestStarInvite0UserId, guestStarInvite0Status and so on.

var answer = await Cb.Call("twitch.getGuestStarInvites");
answer = cb.call("twitch.getGuestStarInvites")

twitch.getGuestStarSession

Gets your running Twitch Guest Star session and its guests. Fails when Twitch is not connected.

Gives back: An object with guestStarActive, guestStarSessionId, guestStarGuestCount, and guestStarGuest0, guestStarGuest0UserName, guestStarGuest0UserId, guestStarGuest0Slot, guestStarGuest0IsLive, guestStarGuest0Volume and so on.

var answer = await Cb.Call("twitch.getGuestStarSession");
answer = cb.call("twitch.getGuestStarSession")

twitch.getGuestStarSettings

Gets your Twitch Guest Star settings. Fails when Twitch is not connected.

Gives back: An object with guestStarSlotCount, guestStarLayout, guestStarModeratorSendLive, guestStarBrowserSourceAudio and guestStarBrowserSourceToken.

var answer = await Cb.Call("twitch.getGuestStarSettings");
answer = cb.call("twitch.getGuestStarSettings")

twitch.getLatestSubscriber

Tells you who subscribed last, as Cuebot saw it.

Gives back: An object with latestSubscriber.userName, latestSubscriber.userLogin, latestSubscriber.userId, latestSubscriber.tier (like "Tier1"), latestSubscriber.isGift and latestSubscriber.at.

var answer = await Cb.Call("twitch.getLatestSubscriber");
answer = cb.call("twitch.getLatestSubscriber")

twitch.getModerators

Lists every moderator of your Twitch channel. Fails when Twitch is not connected.

Gives back: A list, each with userId, userLogin and userName.

var answer = await Cb.Call("twitch.getModerators");
answer = cb.call("twitch.getModerators")

twitch.getPinnedMessage

Gets the message pinned in your Twitch chat right now. Fails when Twitch is not connected.

Gives back: An object with isPinned, pinnedMessage, pinnedMessageId, pinnedUser, pinnedUserName, pinnedUserId, pinnedBy, pinnedAt and pinnedUntil. Text values are empty when nothing is pinned.

var answer = await Cb.Call("twitch.getPinnedMessage");
answer = cb.call("twitch.getPinnedMessage")

twitch.getPoll

Gets your latest Twitch poll and its votes. Fails when Twitch is not connected.

Gives back: An object with pollId, pollTitle, pollStatus, pollIsActive, pollChoiceCount, pollChoice0, pollChoice0Votes and so on, active, plus poll.Title, poll.votes and more.

var answer = await Cb.Call("twitch.getPoll");
answer = cb.call("twitch.getPoll")

twitch.getPrediction

Gets your latest Twitch prediction and its bets. Fails when Twitch is not connected.

Gives back: An object with predictionId, predictionTitle, predictionStatus, predictionOutcomeCount, predictionOutcome0, predictionOutcome0Users, predictionOutcome0Points and so on, active, plus prediction.* details.

var answer = await Cb.Call("twitch.getPrediction");
answer = cb.call("twitch.getPrediction")

twitch.getPresentUser

Gets one person in your Twitch chat by their number in the list. Handy with a random number. Fails when Twitch is not connected.

Value What to put in
index Optional. The number, starting at 0 for the first person. Leave it out for 0.

Gives back: An object with presentUsersCount, presentUser (their name, or false when the number is too big), presentUserId, presentUserName and presentUserType.

var answer = await Cb.Call("twitch.getPresentUser", new { index = 3 });
answer = cb.call("twitch.getPresentUser", index=3)

twitch.getPresentViewers

Gets the people in your Twitch chat right now. Fails when Twitch is not connected.

Gives back: An object with presentViewerCount and presentViewers (their login names, separated by commas).

var answer = await Cb.Call("twitch.getPresentViewers");
answer = cb.call("twitch.getPresentViewers")

twitch.getRandomUsers

Picks random people from your Twitch chat. Handy for giveaways. Fails when Twitch is not connected.

Value What to put in
count Optional. How many to pick. Leave it out for 1.
excludeBroadcaster Optional. true (the default) leaves you and your bot out; false lets them be picked.

Gives back: An object with randomUserCount, and randomUser0, randomUserName0, randomUserId0, randomUserType0 for the first pick, and so on.

var answer = await Cb.Call("twitch.getRandomUsers", new { count = 3 });
answer = cb.call("twitch.getRandomUsers", count=3)

twitch.getRewardCounter

Tells you how often a channel point reward was redeemed, in total and by one viewer. Cuebot counts these itself. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
user Optional. The viewer to count: a login name or "id:12345". Leave it out for the user who triggered the action.

Gives back: An object with counter (all redeems) and userCounter (that viewer's redeems).

var answer = await Cb.Call("twitch.getRewardCounter", new { reward = "Hydrate!" });
answer = cb.call("twitch.getRewardCounter", reward="Hydrate!")

twitch.getRewardInfo

Gets the settings of one channel point reward. Fails when no reward matches. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.

Gives back: An object with rewardId, rewardTitle, rewardPrompt, rewardCost, rewardEnabled, rewardPaused, rewardInStock, rewardBackgroundColor, rewardCooldown, rewardMaxPerStream, rewardMaxPerUser, rewardIsManageable and more.

var answer = await Cb.Call("twitch.getRewardInfo", new { reward = "Hydrate!" });
answer = cb.call("twitch.getRewardInfo", reward="Hydrate!")

twitch.getRewards

Lists every channel point reward of your Twitch channel. Fails when Twitch is not connected.

Gives back: A list of rewards, each with id, title, prompt, cost, backgroundColor, isEnabled, isPaused, isInStock, maxPerStream, globalCooldownSeconds, isManageable (true when Cuebot can change it) and more.

var answer = await Cb.Call("twitch.getRewards");
answer = cb.call("twitch.getRewards")

twitch.getRewardUserCounters

Tells you how often each viewer redeemed a channel point reward, as Cuebot counted it. Fails when no reward matches. Fails when Twitch is not connected.

Value What to put in
reward The reward's title or id, like "Hydrate!".

Gives back: An object with each viewer's user id and their count, like { "12345": 3 }.

var answer = await Cb.Call("twitch.getRewardUserCounters", new { reward = "Hydrate!" });
answer = cb.call("twitch.getRewardUserCounters", reward="Hydrate!")

twitch.getShieldMode

Checks whether Twitch Shield Mode is on. Fails when Twitch is not connected.

Gives back: An object with shieldModeActive and shieldModeModerator (who turned it on).

var answer = await Cb.Call("twitch.getShieldMode");
answer = cb.call("twitch.getShieldMode")

twitch.getStreamInfo

Checks whether a Twitch channel is live, with its viewers, title and uptime. Fails when Twitch is not connected.

Value What to put in
user Optional. A channel's login name or "id:12345". Leave it out for your own channel.

Gives back: An object with isLive, viewerCount, streamTitle, streamGame, streamStartedAt and uptimeSeconds. Values are empty or 0 when the channel is offline.

var answer = await Cb.Call("twitch.getStreamInfo");
answer = cb.call("twitch.getStreamInfo")

twitch.getSubCounter

Reads Cuebot's sub counter, for a sub goal or sub train.

Gives back: An object with subCounter.count, subCounter.rollover and subCounter.rolloverCount.

var answer = await Cb.Call("twitch.getSubCounter");
answer = cb.call("twitch.getSubCounter")

twitch.getSubscriberCount

Gets how many subscribers your Twitch channel has. Fails when Twitch is not connected.

Gives back: An object with subscriberCount and subPoints.

var answer = await Cb.Call("twitch.getSubscriberCount");
answer = cb.call("twitch.getSubscriberCount")

twitch.getSubStatus

Checks whether a viewer subscribes to your Twitch channel. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: An object with isSubscribed, subTier, subIsGift and subGifter.

var answer = await Cb.Call("twitch.getSubStatus", new { user = "coolviewer42" });
answer = cb.call("twitch.getSubStatus", user="coolviewer42")

twitch.getTeamInfo

Gets the Twitch teams a channel belongs to. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: An object with teamCount, teams (names, separated by commas) and teamName (the first team).

var answer = await Cb.Call("twitch.getTeamInfo", new { user = "coolstreamer" });
answer = cb.call("twitch.getTeamInfo", user="coolstreamer")

twitch.getUser

Looks up a Twitch user. Fails when Twitch is not connected.

Value What to put in
user A Twitch login name (a leading @ is fine) or "id:12345", like "coolviewer42".

Gives back: An object with id, login, displayName, type, broadcasterType, description, profileImageUrl, offlineImageUrl and createdAt. null when the user is not found.

var answer = await Cb.Call("twitch.getUser", new { user = "coolviewer42" });
answer = cb.call("twitch.getUser", user="coolviewer42")

twitch.getUserInfo

Gets lots of details about a Twitch user: profile, account age, mod/VIP/sub status and their channel. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: An object with targetFound, targetUser, targetUserName, targetUserId, targetDescription, targetProfileImageUrl, targetCreatedAt, targetAccountAgeDays, targetIsModerator, targetIsVip, targetGame, targetTitle and more.

var answer = await Cb.Call("twitch.getUserInfo", new { user = "coolviewer42" });
answer = cb.call("twitch.getUserInfo", user="coolviewer42")

twitch.getVips

Lists every VIP of your Twitch channel. Fails when Twitch is not connected.

Gives back: A list, each with userId, userLogin and userName.

var answer = await Cb.Call("twitch.getVips");
answer = cb.call("twitch.getVips")

twitch.lockPrediction

Stops new bets on the running Twitch prediction. The result is decided later. Fails when Twitch is not connected.

Gives back: An object with locked (true), active and the prediction's details: prediction.Id, prediction.Title, prediction.outcome0.title and so on.

var answer = await Cb.Call("twitch.lockPrediction");
answer = cb.call("twitch.lockPrediction")

twitch.pinMessage

Pins a message at the top of your Twitch chat. Fails when Twitch is not connected.

Value What to put in
messageId Optional. The id of the message. Leave it out for the chat message that triggered the action (%messageId%).
duration Optional. How long to keep it pinned, in seconds (30 to 1800). Leave it out (or 0) to keep it until the stream ends.

Gives back: Nothing.

var answer = await Cb.Call("twitch.pinMessage", new { duration = 120 });
answer = cb.call("twitch.pinMessage", duration=120)

twitch.removeBlockedTerm

Removes a word or phrase from your Twitch blocked terms. Fails when Twitch is not connected.

Value What to put in
term The blocked text (upper or lower case does not matter) or its id.

Gives back: true when it was removed, false when the channel has no such blocked term.

var answer = await Cb.Call("twitch.removeBlockedTerm", new { term = "buy followers" });
answer = cb.call("twitch.removeBlockedTerm", term="buy followers")

twitch.removeModerator

Takes moderator away from a viewer in your Twitch channel. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: Nothing.

var answer = await Cb.Call("twitch.removeModerator", new { user = "coolviewer42" });
answer = cb.call("twitch.removeModerator", user="coolviewer42")

twitch.removeSuspiciousStatus

Removes the suspicious mark from a viewer, so their messages show normally again. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: An object with suspiciousUser, suspiciousUserName, suspiciousUserId, suspiciousUserType, suspiciousStatusResult and suspiciousStatus ("NO_TREATMENT").

var answer = await Cb.Call("twitch.removeSuspiciousStatus", new { user = "coolviewer42" });
answer = cb.call("twitch.removeSuspiciousStatus", user="coolviewer42")

twitch.removeTag

Removes one tag from your Twitch channel. Upper or lower case and a leading # do not matter. Fails when Twitch is not connected.

Value What to put in
tag The tag, like "Cozy".

Gives back: Nothing.

var answer = await Cb.Call("twitch.removeTag", new { tag = "Cozy" });
answer = cb.call("twitch.removeTag", tag="Cozy")

twitch.removeVip

Takes VIP away from a viewer in your Twitch channel. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: Nothing.

var answer = await Cb.Call("twitch.removeVip", new { user = "coolviewer42" });
answer = cb.call("twitch.removeVip", user="coolviewer42")

twitch.replyToMessage

Replies to a message in your Twitch chat, so it shows as an answer to it. Fails when Twitch is not connected.

Value What to put in
message What to say, like "Good question!"
messageId Optional. The id of the message to answer. Leave it out for the chat message that triggered the action (%messageId%).
sendAs Optional. Who sends it: "Default" (your bot account when it is signed in, otherwise you), "Bot" or "Broadcaster".

Gives back: Nothing.

var answer = await Cb.Call("twitch.replyToMessage", new { message = "Good question!" });
answer = cb.call("twitch.replyToMessage", message="Good question!")

twitch.resetRewardCounter

Sets the total redeem count of a channel point reward back to 0. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.

Gives back: Nothing.

var answer = await Cb.Call("twitch.resetRewardCounter", new { reward = "Hydrate!" });
answer = cb.call("twitch.resetRewardCounter", reward="Hydrate!")

twitch.resetRewardUserCounters

Sets every viewer's redeem count of a channel point reward back to 0. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.

Gives back: Nothing.

var answer = await Cb.Call("twitch.resetRewardUserCounters", new { reward = "Hydrate!" });
answer = cb.call("twitch.resetRewardUserCounters", reward="Hydrate!")

twitch.resetUserRewardCounter

Sets one viewer's redeem count of one channel point reward back to 0. Fails when the reward or the user is not found. Fails when Twitch is not connected.

Value What to put in
reward The reward's title or id, like "Hydrate!".
user A Twitch login name (a leading @ is fine) or "id:12345", like "coolviewer42".

Gives back: true.

var answer = await Cb.Call("twitch.resetUserRewardCounter", new { reward = "Hydrate!", user = "coolviewer42" });
answer = cb.call("twitch.resetUserRewardCounter", reward="Hydrate!", user="coolviewer42")

twitch.resetUserRewardCounters

Sets one viewer's redeem counts of every channel point reward back to 0. Fails when the user is not found. Fails when Twitch is not connected.

Value What to put in
user A Twitch login name (a leading @ is fine) or "id:12345", like "coolviewer42".

Gives back: How many counters were reset.

var answer = await Cb.Call("twitch.resetUserRewardCounters", new { user = "coolviewer42" });
answer = cb.call("twitch.resetUserRewardCounters", user="coolviewer42")

twitch.resolveAutomod

Allows or denies a chat message that AutoMod held back. Fails when Twitch is not connected.

Value What to put in
messageId Optional. The id of the held message. Leave it out for %messageId% of the AutoMod trigger.
decision Optional. "Allow" (the default) shows the message; "Deny" throws it away. Capital letters do not matter.

Gives back: Nothing.

var answer = await Cb.Call("twitch.resolveAutomod", new { decision = "Deny" });
answer = cb.call("twitch.resolveAutomod", decision="Deny")

twitch.resolvePrediction

Picks the winning outcome of your Twitch prediction and pays out the points. Fails when Twitch is not connected.

Value What to put in
winner The winning outcome: its title, like "Yes", or its number (1, 2, ...).
title Optional. Only resolve a prediction with this title. Leave it out for the latest prediction.

Gives back: An object with success (true), the prediction's details (prediction.Id, prediction.Title, prediction.outcome0.title and so on) and prediction.winningOutcome.title, .users and .points.

var answer = await Cb.Call("twitch.resolvePrediction", new { winner = "Yes" });
answer = cb.call("twitch.resolvePrediction", winner="Yes")

twitch.runAd

Starts an ad break on your Twitch stream right now. Fails when Twitch is not connected.

Value What to put in
length Optional. How long, in seconds: 30, 60, 90, 120, 150 or 180. Leave it out for 30.

Gives back: An object with adLength and adRetryAfter (seconds until you can run another one).

var answer = await Cb.Call("twitch.runAd", new { length = 60 });
answer = cb.call("twitch.runAd", length=60)

twitch.sendAndPinMessage

Sends a message in your Twitch chat as yourself (not the bot) and pins it right away. Fails when the message is empty. Fails when Twitch is not connected.

Value What to put in
message What to say and pin, like "Giveaway: type !join"
duration Optional. How long to keep it pinned, in seconds. Leave it out (or 0) to keep it until the stream ends.

Gives back: The id of the new message.

var answer = await Cb.Call("twitch.sendAndPinMessage", new { message = "Giveaway: type !join", duration = 300 });
answer = cb.call("twitch.sendAndPinMessage", message="Giveaway: type !join", duration=300)

twitch.sendAnnouncement

Posts an announcement in your Twitch chat: a highlighted message with a coloured bar. Fails when Twitch is not connected.

Value What to put in
message What to announce, like "Giveaway starts in 5 minutes!"
color Optional. "primary" (your channel colour, the default), "blue", "green", "orange" or "purple".

Gives back: Nothing.

var answer = await Cb.Call("twitch.sendAnnouncement", new { message = "Giveaway starts in 5 minutes!", color = "purple" });
answer = cb.call("twitch.sendAnnouncement", message="Giveaway starts in 5 minutes!", color="purple")

twitch.sendGuestStarInvite

Invites a viewer to your Twitch Guest Star session. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.
sessionId Optional. The Guest Star session id. Leave it out for the session running now.

Gives back: Nothing.

var answer = await Cb.Call("twitch.sendGuestStarInvite", new { user = "coolviewer42" });
answer = cb.call("twitch.sendGuestStarInvite", user="coolviewer42")

twitch.sendMessage

Sends a message in your Twitch chat. Empty text is skipped. Fails when Twitch is not connected.

Value What to put in
message What to say, like "Thanks for the follow!"
sendAs Optional. Who sends it: "Default" (your bot account when it is signed in, otherwise you), "Bot" or "Broadcaster".

Gives back: Nothing.

var answer = await Cb.Call("twitch.sendMessage", new { message = "Thanks for the follow!" });
answer = cb.call("twitch.sendMessage", message="Thanks for the follow!")

twitch.sendShoutout

Sends an official Twitch shoutout to another channel, so your viewers can follow them with one click. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: An object with shoutoutSuccess (true).

var answer = await Cb.Call("twitch.sendShoutout", new { user = "coolstreamer" });
answer = cb.call("twitch.sendShoutout", user="coolstreamer")

twitch.sendWhisper

Sends a private whisper to a Twitch viewer. The sending account needs a verified phone number on Twitch. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.
message What to whisper, like "Your code is 1234".
sendAs Optional. Who sends it: "Default" (your bot account when it is signed in, otherwise you), "Bot" or "Broadcaster".

Gives back: Nothing.

var answer = await Cb.Call("twitch.sendWhisper", new { user = "coolviewer42", message = "Thanks for the raid!" });
answer = cb.call("twitch.sendWhisper", user="coolviewer42", message="Thanks for the raid!")

twitch.setBrandedContent

Turns the branded content (sponsored stream) label on your Twitch channel on or off. Fails when Twitch is not connected.

Value What to put in
enabled Optional. true turns it on, false turns it off. Leave it out for true.

Gives back: An object with success (true).

var answer = await Cb.Call("twitch.setBrandedContent", new { enabled = true });
answer = cb.call("twitch.setBrandedContent", enabled=True)

twitch.setContentLabel

Turns one content warning label on your Twitch channel on or off, like "Strong language". Fails when Twitch is not connected.

Value What to put in
label Optional. "DrugsIntoxication", "SexualThemes", "ViolentGraphic", "Gambling" or "ProfanityVulgarity" (strong language, the default).
enabled Optional. true turns it on, false turns it off. Leave it out for true.

Gives back: Nothing.

var answer = await Cb.Call("twitch.setContentLabel", new { label = "ProfanityVulgarity", enabled = true });
answer = cb.call("twitch.setContentLabel", label="ProfanityVulgarity", enabled=True)

twitch.setGame

Changes the category (game) of your Twitch stream. It picks the exact name, or else the best search match. Fails when nothing matches. Fails when Twitch is not connected.

Value What to put in
game The category or game name, like "Just Chatting".

Gives back: An object with gameId, gameName, gameBoxArt and gameSuccess (true).

var answer = await Cb.Call("twitch.setGame", new { game = "Just Chatting" });
answer = cb.call("twitch.setGame", game="Just Chatting")

twitch.setRewardColor

Changes the background colour of a channel point reward. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
color Optional. The colour as #RRGGBB, like "#FF6600". Leave it out for Twitch purple (#9147FF).
random Optional. true picks a random colour instead. Leave it out for false.

Gives back: Nothing.

var answer = await Cb.Call("twitch.setRewardColor", new { reward = "Hydrate!", color = "#FF6600" });
answer = cb.call("twitch.setRewardColor", reward="Hydrate!", color="#FF6600")

twitch.setRewardCooldown

Sets how long everyone must wait between redeems of a channel point reward. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
seconds Optional. The wait in seconds, like 60. 0 (the default) turns the cooldown off.

Gives back: Nothing.

var answer = await Cb.Call("twitch.setRewardCooldown", new { reward = "Hydrate!", seconds = 300 });
answer = cb.call("twitch.setRewardCooldown", reward="Hydrate!", seconds=300)

twitch.setRewardCost

Changes the price of a channel point reward. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
cost Optional. The new price in channel points. Leave it out for 100.

Gives back: Nothing.

var answer = await Cb.Call("twitch.setRewardCost", new { reward = "Hydrate!", cost = 1000 });
answer = cb.call("twitch.setRewardCost", reward="Hydrate!", cost=1000)

twitch.setRewardEnabled

Turns a channel point reward on or off. A turned-off reward is hidden from viewers. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
enabled Optional. true shows it, false hides it. Leave it out for true.

Gives back: Nothing.

var answer = await Cb.Call("twitch.setRewardEnabled", new { reward = "Hydrate!", enabled = true });
answer = cb.call("twitch.setRewardEnabled", reward="Hydrate!", enabled=True)

twitch.setRewardGroupEnabled

Turns every reward in a reward group on or off at once. Rewards Cuebot did not make are skipped. Fails when the group has no rewards. Fails when Twitch is not connected.

Value What to put in
group The reward group name, as set on the Twitch page (Rewards tab), like "Games".
state Optional. "Enabled" (the default), "Disabled" or "Toggle" (on, unless one of them is already on).

Gives back: An object with rewardsChanged and rewardsSkipped (rewards Cuebot could not change).

var answer = await Cb.Call("twitch.setRewardGroupEnabled", new { group = "Games", state = "Disabled" });
answer = cb.call("twitch.setRewardGroupEnabled", group="Games", state="Disabled")

twitch.setRewardGroupPaused

Pauses or unpauses every reward in a reward group at once. Rewards Cuebot did not make are skipped. Fails when the group has no rewards. Fails when Twitch is not connected.

Value What to put in
group The reward group name, as set on the Twitch page (Rewards tab), like "Games".
state Optional. "Paused" (the default), "Unpaused" or "Toggle" (paused, unless one of them is already paused).

Gives back: An object with rewardsChanged and rewardsSkipped (rewards Cuebot could not change).

var answer = await Cb.Call("twitch.setRewardGroupPaused", new { group = "Games", state = "Paused" });
answer = cb.call("twitch.setRewardGroupPaused", group="Games", state="Paused")

twitch.setRewardMaxPerStream

Sets how many times a channel point reward can be redeemed per stream, by everyone together. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
max Optional. The limit, like 10. 0 (the default) removes the limit.
additive Optional. true adds max to the current limit (a negative number lowers it) instead of replacing it. Leave it out for false.

Gives back: Nothing.

var answer = await Cb.Call("twitch.setRewardMaxPerStream", new { reward = "Hydrate!", max = 10 });
answer = cb.call("twitch.setRewardMaxPerStream", reward="Hydrate!", max=10)

twitch.setRewardMaxPerUser

Sets how many times each viewer can redeem a channel point reward per stream. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
max Optional. The limit, like 1. 0 (the default) removes the limit.
additive Optional. true adds max to the current limit (a negative number lowers it) instead of replacing it. Leave it out for false.

Gives back: Nothing.

var answer = await Cb.Call("twitch.setRewardMaxPerUser", new { reward = "Hydrate!", max = 1 });
answer = cb.call("twitch.setRewardMaxPerUser", reward="Hydrate!", max=1)

twitch.setRewardPaused

Pauses or unpauses a channel point reward. Viewers see a paused reward but cannot redeem it. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
paused Optional. true pauses it, false unpauses it. Leave it out for true.

Gives back: Nothing.

var answer = await Cb.Call("twitch.setRewardPaused", new { reward = "Hydrate!", paused = true });
answer = cb.call("twitch.setRewardPaused", reward="Hydrate!", paused=True)

twitch.setRewardPrompt

Changes the text viewers see under a channel point reward. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
prompt The new text, like "Make me drink some water".

Gives back: Nothing.

var answer = await Cb.Call("twitch.setRewardPrompt", new { reward = "Hydrate!", prompt = "Make me drink some water" });
answer = cb.call("twitch.setRewardPrompt", reward="Hydrate!", prompt="Make me drink some water")

twitch.setRewardTitle

Changes the name of a channel point reward. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
title The new name, like "Drink water!".

Gives back: Nothing.

var answer = await Cb.Call("twitch.setRewardTitle", new { reward = "Hydrate!", title = "Drink water!" });
answer = cb.call("twitch.setRewardTitle", reward="Hydrate!", title="Drink water!")

twitch.setShieldMode

Turns Twitch Shield Mode on or off. It locks chat down quickly during a hate raid. Fails when Twitch is not connected.

Value What to put in
enabled Optional. true turns Shield Mode on, false turns it off. Leave it out for true.

Gives back: Nothing.

var answer = await Cb.Call("twitch.setShieldMode", new { enabled = true });
answer = cb.call("twitch.setShieldMode", enabled=True)

twitch.setSubCounter

Sets Cuebot's sub counter to a number, for example to start a new sub goal.

Value What to put in
count Optional. The new count, a whole number of 0 or more. Leave it out for 0.
rolloverCount Optional. The new rollover count. Leave it out to keep it.

Gives back: An object with setResult (false when count is not a valid number) and, when it worked, subCounter.count, subCounter.rollover and subCounter.rolloverCount.

var answer = await Cb.Call("twitch.setSubCounter", new { count = 0 });
answer = cb.call("twitch.setSubCounter", count=0)

twitch.setTags

Replaces all tags of your Twitch channel. Twitch allows at most 10. Fails when Twitch is not connected.

Value What to put in
tags The tags as text, separated by commas or spaces, like "English, Chill, Cozy".

Gives back: Nothing.

var answer = await Cb.Call("twitch.setTags", new { tags = "English, Chill, Cozy" });
answer = cb.call("twitch.setTags", tags="English, Chill, Cozy")

twitch.setTitle

Changes the title of your Twitch stream. Fails when Twitch is not connected.

Value What to put in
title The new title, like "Chill games with chat".

Gives back: An object with titleSuccess (true).

var answer = await Cb.Call("twitch.setTitle", new { title = "Chill games with chat" });
answer = cb.call("twitch.setTitle", title="Chill games with chat")

twitch.slowMode

Turns slow mode on or off: viewers must wait between messages. Fails when Twitch is not connected.

Value What to put in
enabled Optional. true turns it on, false turns it off. Leave it out for true.
seconds Optional. The wait between messages, in seconds (3 to 120). Leave it out for 30.

Gives back: Nothing.

var answer = await Cb.Call("twitch.slowMode", new { enabled = true, seconds = 10 });
answer = cb.call("twitch.slowMode", enabled=True, seconds=10)

twitch.snoozeAd

Pushes your next scheduled Twitch ad back, if you have snoozes left. Fails when Twitch is not connected.

Gives back: An object with snooze.success, nextAdAt, lastAdAt, adDuration, prerollFreeTime, snoozeCount, snoozeRefreshAt, prerollFree and prerollFreeSeconds.

var answer = await Cb.Call("twitch.snoozeAd");
answer = cb.call("twitch.snoozeAd")

twitch.startRaid

Starts a raid to another Twitch channel. Fails when the channel is not found. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: An object with startRaidSuccess (true).

var answer = await Cb.Call("twitch.startRaid", new { user = "coolstreamer" });
answer = cb.call("twitch.startRaid", user="coolstreamer")

twitch.subscriberMode

Turns subscriber-only chat on or off. Fails when Twitch is not connected.

Value What to put in
enabled Optional. true turns it on, false turns it off. Leave it out for true.

Gives back: Nothing.

var answer = await Cb.Call("twitch.subscriberMode", new { enabled = true });
answer = cb.call("twitch.subscriberMode", enabled=True)

twitch.timeout

Times out a viewer in your Twitch chat, so they cannot chat for a while. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.
duration Optional. How long, in seconds (1 second to 14 days). Leave it out for 600 (10 minutes).
reason Optional. Why, like "Calm down".

Gives back: An object with timedOutUser (display name), timedOutUserName (login), timedOutUserId, timedOutUserType ("twitch") and timeoutResult (true).

var answer = await Cb.Call("twitch.timeout", new { user = "coolviewer42", duration = 300, reason = "Calm down" });
answer = cb.call("twitch.timeout", user="coolviewer42", duration=300, reason="Calm down")

twitch.unban

Lets a banned viewer chat in your Twitch channel again. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: An object with unbannedUser (display name), unbannedUserName (login), unbannedUserId, unbannedUserType ("twitch") and unbanResult (true).

var answer = await Cb.Call("twitch.unban", new { user = "coolviewer42" });
answer = cb.call("twitch.unban", user="coolviewer42")

twitch.uniqueChat

Turns unique chat on or off: viewers cannot post the same message twice in a row. Fails when Twitch is not connected.

Value What to put in
enabled Optional. true turns it on, false turns it off. Leave it out for true.

Gives back: Nothing.

var answer = await Cb.Call("twitch.uniqueChat", new { enabled = true });
answer = cb.call("twitch.uniqueChat", enabled=True)

twitch.unpinMessage

Unpins a message in your Twitch chat. Fails when nothing is pinned. Fails when Twitch is not connected.

Value What to put in
messageId Optional. The id of the pinned message. Leave it out for the message pinned now.

Gives back: Nothing.

var answer = await Cb.Call("twitch.unpinMessage");
answer = cb.call("twitch.unpinMessage")

twitch.untimeout

Ends a viewer's timeout early, so they can chat again. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.

Gives back: An object with unTimedOutUser (display name), unTimedOutUserName (login), unTimedOutUserId, unTimedOutUserType ("twitch") and unTimedOutResult (true).

var answer = await Cb.Call("twitch.untimeout", new { user = "coolviewer42" });
answer = cb.call("twitch.untimeout", user="coolviewer42")

twitch.updateGuestStarSettings

Changes your Twitch Guest Star settings. Anything left at its default stays as it is. Fails when Twitch is not connected.

Value What to put in
slotCount Optional. How many guest slots, 1 to 6. Leave it out (or 0) to keep it.
layout Optional. "TILED_LAYOUT", "SCREENSHARE_LAYOUT", "HORIZONTAL_LAYOUT", "VERTICAL_LAYOUT" or "Keep" (the default).
moderatorSendLive Optional. Whether moderators can send guests live: "On", "Off" or "Keep" (the default).
browserSourceAudio Optional. Whether the browser sources play audio: "On", "Off" or "Keep" (the default).
regenerateBrowserSources Optional. true makes new browser source links; the old ones stop working. Leave it out for false.

Gives back: Nothing.

var answer = await Cb.Call("twitch.updateGuestStarSettings", new { slotCount = 4, layout = "TILED_LAYOUT" });
answer = cb.call("twitch.updateGuestStarSettings", slotCount=4, layout="TILED_LAYOUT")

twitch.updateGuestStarSlot

Moves a Twitch Guest Star guest from one slot to another. Fails when Twitch is not connected.

Value What to put in
slot Optional. The slot the guest is in now, like "1". Leave it out for 1.
toSlot Optional. The slot to move them to, like "3". Leave it out for 1.
sessionId Optional. The Guest Star session id. Leave it out for the session running now.

Gives back: Nothing.

var answer = await Cb.Call("twitch.updateGuestStarSlot", new { slot = "1", toSlot = "3" });
answer = cb.call("twitch.updateGuestStarSlot", slot="1", toSlot="3")

twitch.updateGuestStarSlotSettings

Changes audio, video, live state or volume of one Twitch Guest Star slot. Fails when Twitch is not connected.

Value What to put in
slot Optional. The slot number, from 1 up to the number of slots, like "2". Leave it out for 1.
audio Optional. The guest's audio: "On", "Off" or "Keep" (the default, leaves it as it is).
video Optional. The guest's video: "On", "Off" or "Keep" (the default, leaves it as it is).
live Optional. Whether the guest is live on stream: "On", "Off" or "Keep" (the default, leaves it as it is).
volume Optional. Volume from 0 to 100. Leave it out (or -1) to keep it.
sessionId Optional. The Guest Star session id. Leave it out for the session running now.

Gives back: Nothing.

var answer = await Cb.Call("twitch.updateGuestStarSlotSettings", new { slot = "2", audio = "Off" });
answer = cb.call("twitch.updateGuestStarSlotSettings", slot="2", audio="Off")

twitch.updatePinnedDuration

Changes how long the pinned message stays pinned, counting from now. Fails when Twitch is not connected.

Value What to put in
messageId Optional. The id of the pinned message. Leave it out for the message pinned now.
duration Optional. Seconds from now (30 to 1800). 0 keeps it until the stream ends. Leave it out for 60.

Gives back: Nothing.

var answer = await Cb.Call("twitch.updatePinnedDuration", new { duration = 300 });
answer = cb.call("twitch.updatePinnedDuration", duration=300)

twitch.updateRedemption

Marks a channel point redemption as done, or cancels it and gives the points back. Only works for rewards Cuebot made. Fails when Twitch is not connected.

Value What to put in
rewardId Optional. The reward id. Leave it out for %rewardId% of the redemption trigger.
redemptionId Optional. The redemption id. Leave it out for %redemptionId% of the redemption trigger.
status Optional. "Fulfil" (the default) marks it done; "Cancel" refunds the points. Capital letters do not matter.

Gives back: Nothing.

var answer = await Cb.Call("twitch.updateRedemption", new { status = "Cancel" });
answer = cb.call("twitch.updateRedemption", status="Cancel")

twitch.updateReward

Changes the name, text and price of a channel point reward in one go. Empty values stay as they are. Twitch only lets Cuebot change rewards that Cuebot made. Fails when Twitch is not connected.

Value What to put in
reward Optional. The reward's title or id, like "Hydrate". Leave it out for the reward that was just redeemed.
title Optional. The new name. Leave it empty to keep it.
prompt Optional. The new text. Leave it empty to keep it.
cost Optional. A number. With "Set" it becomes the new price; with the other operators it changes the current price (never below 1).
operator Optional. "Set" (the default), "Add", "Subtract", "Multiply" or "Divide".

Gives back: An object with rewardCost (the price now).

var answer = await Cb.Call("twitch.updateReward", new Dictionary<string, object?> { ["reward"] = "Hydrate!", ["cost"] = 100, ["operator"] = "Add" });
answer = cb.call("twitch.updateReward", reward="Hydrate!", cost=100, operator="Add")

twitch.updateStreamInfo

Changes the title, category and tags of your Twitch stream in one go. Anything you leave empty stays as it is. Fails when Twitch is not connected.

Value What to put in
title Optional. The new title. Leave it empty to keep it.
game Optional. The new category or game name, like "Minecraft". Leave it empty to keep it.
tags Optional. New tags as text, separated by commas, like "English, Chill". Leave it empty to keep them.

Gives back: Nothing.

var answer = await Cb.Call("twitch.updateStreamInfo", new { title = "Building a castle", game = "Minecraft" });
answer = cb.call("twitch.updateStreamInfo", title="Building a castle", game="Minecraft")

twitch.warn

Sends a viewer an official Twitch warning. Fails when Twitch is not connected.

Value What to put in
user Optional. A Twitch login name (a leading @ is fine) or "id:12345". Leave it out for the user who triggered the action.
reason The warning text they will see, like "Please keep it friendly".

Gives back: An object with warnedUser (display name), warnedUserName (login), warnedUserId, warnedUserType ("twitch") and warnedResult (true).

var answer = await Cb.Call("twitch.warn", new { user = "coolviewer42", reason = "Please keep it friendly" });
answer = cb.call("twitch.warn", user="coolviewer42", reason="Please keep it friendly")