Methods - Sehelitar/Kick.bot GitHub Wiki

How to set an argument with Streamer.bot

Each C# Method have a set of arguments you can define. For each argument, you have to add a Set Argument sub-action BEFORE the Call C# Method sub-action.

Add a Set Argument sub-action

Example:

Sub-actions order

C# Methods list

Chat Management

BanUser

Ban a user from chat.

Argument Type Required Value
user string Yes User to ban.
banReason string No Reason the user where banned for.

TimeoutUser

Timeout a user from chat.

Argument Type Required Value
user string Yes User to timeout.
banDuration int Yes Timeout duration.
banReason string No Reason the user where banned for.

UnbanUser

Unban/untimeout a user.

Argument Type Required Value
user string Yes User to unban/untimeout.

Chat Methods

SendMessage

Send a message in chat.

Argument Type Required Value
message string Yes The message you want to send.
useBotProfile bool No If specified, indicates which account you want to use.

This method will set a few argumuments back :

Argument Type Value
msgId string Sent message ID.
pinnableMessage string Useful if you want to pin this message right after sending it.

SendReply

Reply to someone else's message.

Argument Type Required Value
reply string Yes The message you want to send.
message string Yes Content of the message you are replying to.
msgId string Yes Id of the message you are replying to.
user long Yes Username of the user you are replying to.
userId string Yes Id of the user you are replying to.
useBotProfile bool No If specified, indicates which account you want to use.

Note : If you reply to a message in an action that was called by a message/command trigger, all these arguments but your reply will already be set.

This method will set a few argumuments back :

Argument Type Value
msgId string Sent message ID.
pinnableMessage string Useful if you want to pin this message right after sending it.

DeleteMessage

Delete a message in chat.

Argument Type Required Value
msgId sstring Yes Id of the message you want to delete.

ClearChat

Clear chat and remove all messages. No arguments are required.

ChatAccountAge

Enable/disable/toggle account age verification. If duration is not set, this verification will be disabled.

Argument Type Required Value
duration int No Set this to enable account age verification and how old an account must be (in minutes) to be able to talk in chat.

This method will set a few argumuments back :

Argument Type Value
chatEmotesOnly bool Is chat emotes only mode enabled.
chatFollowersOnly bool Is chat followers only mode enabled.
chatFollowersSince long Follow duration required to be able to talk in chat.
chatSlowMode bool Is chat slow mode enabled.
chatSlowModeInterval long Interval users have to wait before being able to send another one.
chatSubsOnly bool Is chat subs only mode enabled.
chatBotProtection bool Is chat bot protection enabled.
chatBotProtectionRemaining long For how long the bot protection will remain active.
chatBotAccountAgeSince long How old an account must be to be able to talk in chat.
chatBotAccountAgeRequired bool Is account age verification active.

ChatBotProtection

Enable chat bot protection.

Argument Type Required Value
enable bool Yes Enable or disable bot protection.

This method will set a few argumuments back :

Argument Type Value
chatEmotesOnly bool Is chat emotes only mode enabled.
chatFollowersOnly bool Is chat followers only mode enabled.
chatFollowersSince long Follow duration required to be able to talk in chat.
chatSlowMode bool Is chat slow mode enabled.
chatSlowModeInterval long Interval users have to wait before being able to send another one.
chatSubsOnly bool Is chat subs only mode enabled.
chatBotProtection bool Is chat bot protection enabled.
chatBotProtectionRemaining long For how long the bot protection will remain active.
chatBotAccountAgeSince long How old an account must be to be able to talk in chat.
chatBotAccountAgeRequired bool Is account age verification active.

ChatEmotesOnly

Enable/disable/toggle chat emotes only mode. If enable is not set, it will toggle the current state.

Argument Type Required Value
enable bool No Enable or disable emotes only.

This method will set a few argumuments back :

Argument Type Value
chatEmotesOnly bool Is chat emotes only mode enabled.
chatFollowersOnly bool Is chat followers only mode enabled.
chatFollowersSince long Follow duration required to be able to talk in chat.
chatSlowMode bool Is chat slow mode enabled.
chatSlowModeInterval long Interval users have to wait before being able to send another one.
chatSubsOnly bool Is chat subs only mode enabled.
chatBotProtection bool Is chat bot protection enabled.
chatBotProtectionRemaining long For how long the bot protection will remain active.
chatBotAccountAgeSince long How old an account must be to be able to talk in chat.
chatBotAccountAgeRequired bool Is account age verification active.

ChatFollowersOnly

Enable/disable/toggle chat followers only mode. If duration is not set, followers only mode will be disabled.

Argument Type Required Value
duration int No Set this to enable followers only mode and for how long (in minutes) a user must be following your channel to be able to talk in chat. Maximum value : 600 minutes (10 hours).

This method will set a few argumuments back :

Argument Type Value
chatEmotesOnly bool Is chat emotes only mode enabled.
chatFollowersOnly bool Is chat followers only mode enabled.
chatFollowersSince long Follow duration required to be able to talk in chat.
chatSlowMode bool Is chat slow mode enabled.
chatSlowModeInterval long Interval users have to wait before being able to send another one.
chatSubsOnly bool Is chat subs only mode enabled.
chatBotProtection bool Is chat bot protection enabled.
chatBotProtectionRemaining long For how long the bot protection will remain active.
chatBotAccountAgeSince long How old an account must be to be able to talk in chat.
chatBotAccountAgeRequired bool Is account age verification active.

ChatSlowMode

Enable/disable/toggle chat slow mode. If interval is not set, slow mode will be disabled.

Argument Type Required Value
interval int No Set this to enable slow mode and define the delay (in seconds) before being able to send another one. Maximum value : 300 seconds (5 minutes).

This method will set a few argumuments back :

Argument Type Value
chatEmotesOnly bool Is chat emotes only mode enabled.
chatFollowersOnly bool Is chat followers only mode enabled.
chatFollowersSince long Follow duration required to be able to talk in chat.
chatSlowMode bool Is chat slow mode enabled.
chatSlowModeInterval long Interval users have to wait before being able to send another one.
chatSubsOnly bool Is chat subs only mode enabled.
chatBotProtection bool Is chat bot protection enabled.
chatBotProtectionRemaining long For how long the bot protection will remain active.
chatBotAccountAgeSince long How old an account must be to be able to talk in chat.
chatBotAccountAgeRequired bool Is account age verification active.

ChatSubsOnly

Enable/disable/toggle chat subs only mode. If enable is not set, it will toggle the current state.

Argument Type Required Value
enable bool No Enable or disable subs only.

This method will set a few argumuments back :

Argument Type Value
chatEmotesOnly bool Is chat emotes only mode enabled.
chatFollowersOnly bool Is chat followers only mode enabled.
chatFollowersSince long Follow duration required to be able to talk in chat.
chatSlowMode bool Is chat slow mode enabled.
chatSlowModeInterval long Interval users have to wait before being able to send another one.
chatSubsOnly bool Is chat subs only mode enabled.
chatBotProtection bool Is chat bot protection enabled.
chatBotProtectionRemaining long For how long the bot protection will remain active.
chatBotAccountAgeSince long How old an account must be to be able to talk in chat.
chatBotAccountAgeRequired bool Is account age verification active.

PinMessage

Pin a message for a defined duration.

Argument Type Required Value
pinDuration int No Pin this message for the specified duration (in seconds). Default value : 120
pinnableMessage string Yes Serialized message to pin. This argument is automatically set when called from a Chat Message trigger.

UnpinMessage

Unpin any pinned message.

GetPinnedMessage

Get the currently pinned message, if any. This method doesn't have any input arguments, but it will set a few argumuments back :

Argument Type Always set Value
user string Yes Display name of the user that wrote the pinned message.
userName string Yes User slug of the user that wrote the pinned message.
userId string Yes User ID of the user that wrote the pinned message.
userType string Yes Always set to kick.
isSubscribed bool Yes Indicates whether the user is currently subscribed to the channel.
isModerator bool Yes Indicates whether the user is a moderator of the channel.
isVip bool Yes Indicates whether the user is a VIP of the channel.
msgId string Yes Message ID.
chatroomId long Yes Chatroom ID.
role int Yes 0 = Viewer, 1 = VIP, 2 = Mods, 3 = Broadcaster.
color string Yes Hexadecimal color code.
message string Yes Message content.
emoteCount int Yes Number of emotes in the message.
emotes string Yes Comma separated list of message's emotes.
messageStripped string Yes Original message without any emotes.
messageCheermotesStripped string Yes Original message without any emotes. Cheermotes doesn't exist on Kick yet.
isHighlight bool Yes This feature is currently unsupported on Kick, so this will always be false.
bits int Yes This feature is currently unsupported on Kick, so this will always be 0.
isAction bool Yes This feature is currently unsupported on Kick, so this will always be false.
isReply bool Yes Indicates whether this message was a reply or not.

Note : None of these arguments will be set if there is no pinned message.

Channel Management

AddModerator

Add a moderator to your channel.

Argument Type Required Value
user string Yes User to give moderator status to.

RemoveModerator

Remove a moderator from your channel.

Argument Type Required Value
user string Yes User to take moderator status from.

AddOG

Add an OG to your channel.

Argument Type Required Value
user string Yes User to give OG status to.

RemoveOG

Remove an OG from your channel.

Argument Type Required Value
user string Yes User to take OG status from.

AddVip

Add a VIP to your channel.

Argument Type Required Value
user string Yes User to give VIP status to.

RemoveVip

Remove a VIP from your channel.

Argument Type Required Value
user string Yes User to take VIP status from.

Fetch infos

GetBroadcasterInfos

This method is similar to GetUserInfos, but to fetch infos from the channel owner. No arguments are required.

GetChannelCounters

Get follower and viewer counts.

Returned arguments

Argument Type Value
followerCount long Follower count.
viewerCount int Viewer count. This argument is only set when live.

GetFollowAgeInfo

This method works in a similar way than the "Get Follow Age Info for Target" sub-action for Twitch.
Only one of the following arguments is required !
Order of arguments define their priority.

For example, if targetUserName and userName are both set, targetUserName will be used to fetch user's infos.

Argument Type Required Value
targetUserName string No The user slug you want to get infos from. Set this one to manually specify for which user the information will be retrieved.
targetUser string No The user display name you want to get infos from. Set this one to manually specify for which user the information will be retrieved.
userName string No The user slug you want to get infos from. Usually, triggers will set this one.
user string No The user display name you want to get infos from. Usually, triggers will set this one too.

Returned arguments

If the target user is following your channel, these arguments will be set accordingly. Otherwise, none of these will be set.

Argument Type Value
followDate DateTime User's follow date.
followAgeLong string Follow age in long format. Ex: 1 year, 6 months, 2 days, 1 hour, 1 minute
followAgeShort string Follow age in short format. Ex: 1y, 6m, 2d, 1h, 1m
followAgeDays long Total number of days since the user followed.
followAgeMinutes long Total number of minutes since the user followed.
followAgeSeconds long Total number of seconds since the user followed.
followUser string Name of user you fetched info for.
followUserName string Slug of user you fetched info for.
followUserId long ID of user you fetched info for.

GetUserInfos

This method works in a similar way than the "Get User Info for Target" sub-action for Twitch.
Only one of the following arguments is required !
Order of arguments define their priority.

For example, if targetUserName and userName are both set, targetUserName will be used to fetch user's infos.

Argument Type Required Value
targetUserName string No The user slug you want to get infos from. Set this one to manually specify for which user the information will be retrieved.
targetUser string No The user display name you want to get infos from. Set this one to manually specify for which user the information will be retrieved.
userName string No The user slug you want to get infos from. Usually, triggers will set this one.
user string No The user display name you want to get infos from. Usually, triggers will set this one too.

Returned arguments

All these arguments are set when a user that match the request have been found.

Argument Type Value
targetUser string Display name of the user.
targetUserName string User slug of the user.
targetUserId string ID of the user.
targetDescription string User's bio.
targetDescriptionEscaped string User's escaped bio.
targetUserProfileImageUrl string User's profile picture URL.
targetUserProfileImageUrlEscaped string User's profile picture URL (escaped).
targetUserProfileImageEscaped string User's profile picture URL.
targetUserType string Possible values : "partner", "affiliate", or an empty string.
targetIsAffiliate bool Is the user an affiliate.
targetIsPartner bool Is the user a partner.
targetFollowers int User's follower count.
targetLastActive DateTime Last time this user was seen.
targetPreviousActive DateTime Same as targetLastActive
targetIsSubscribed bool Is the user a subscriber of the channel.
targetSubscriptionTier int Which sub tier this user have. Possible values : 1000 = Sub, 0 = Not Sub
targetIsModerator bool Is the user a mod.
targetIsVip bool Is the user a VIP.
targetIsFollowing bool Is the user following the channel.
targetChannelTitle string User's channel title, if any.
createdAt DateTime Account creation date.
accountAge int Account age.
game string User's stream category, from current or previous livestream if any.
gameId int User's stream category id, from current or previous livestream if any.
tagCount int Total tags count, from current or previous livestream if any.
tags string[] Tags list, from current or previous livestream if any.
tagsDelimited string Comma-separated tags list, from current or previous livestream if any.
targetIsLive string Is the user live.
targetLiveThumbnail string User's stream thumbnail, if any.
targetLiveViewers int User's stream current viewers count.
targetLiveStartedAt DateTime User's live starting date.
targetLiveDuration int User's live duration, in seconds.
targetLiveMature bool Indicate if user's livestream is restricted to a mature audience.

PickRandomActiveUser

Pick a random active user. "Activities" include : chat messages, follow, sub, gifting subs, etc... Basically any action that involves a user updates its internal activity time.

Argument Type Required Value
interval int No Pick a user that has been active in the last X seconds. Default: 600 seconds (10m).

Returned arguments

This method set the same collection of arguments as GetUserInfos method.

Polls

StartPoll

Create and start a new poll.

Argument Type Required Value
pollTitle string Yes Title of the poll.
pollChoices string Yes Poll choices. Options must be separated with a pipe | character. Ex: Yes|No|Maybe|I don't know
pollDuration int Yes Poll duration. Period when viewers can vote.
pollDisplayDuration int No Results display duration. Period when votes are closed and results are displayed.

Stream Management

ChangeStreamInfo

Change stream informations.

Argument Type Required Value
category string No Stream category. Will try to match the closest category in internal Kick's database.
title string No Stream title.
isMature bool No Indicate that your stream is targetting a mature audience.

MakeClip

Save a moment of your stream by making a clip. Only works when live.

Argument Type Required Value
title string No Clip title. By default, will be set to the current date and time.
duration int No Clip duration in seconds. Maximum value: 60. Default: 30.
skip int No Skip the last X seconds. Maximum value: 89. Default: 0, meaning clip will end at the moment the method was called.

This method will set a few argumuments back :

Argument Type Value
createClipSuccess bool Indicated wether clip creation have been successful or not.
createClipId string Clip unique ID.
createClipCreatedAt DateTime Clip creation date.
createClipUrl string Clip public URL.

GetClips

Fetch clips from a channel.

Argument Type Required Value
channel string No Channel to fetch clips from. Default : your own channel.
count int No Number of clips to fetch. Default: 20.
orderBy string No Sort results by a specific filter. Possible values : date, like, view. Default : date.
timeRange string No Fetch clips from a limited time range. Possible values : all, month, week, day. Default : all.

Example : to fetch the most viewed clip this week, set count=1, orderBy=view and timeRange=week.

This method will set a few arguments back :

Argument Type Value
clip{X}.id string Clip unique identifier.
clip{X}.title string Clip title.
clip{X}.preview string Clip thumbnail URL.
clip{X}.video string Clip video file URL.
clip{X}.link string Clip page link URL.

Note : {X} is replaced with the clip number in the list. For example, if your requested 3 clips, clip0.id, clip1.id and clip2.id will be set and so on.

GetClipVideoURL

Get MP4 video link for a given clip.

⚠️ Note: Kick needs to transcode the video stream to a MP4 file. This process can take a few seconds to run, so expect this method to take some time to complete.

Argument Type Required Value
clipId string Yes ID of the clip you want to convert.

This method will set a few arguments back :

Argument Type Value
clipLink string Clip link to MP4 file.

Rewards / Redemptions

GetRewardsList

List existing rewards.

Argument Type Required Value
rewardEnabledOnly bool No Set to true to get enabled rewards only.

This method will set a few arguments back :

Argument Type Value
reward string Reward ID.

Use GetReward method to get more informations about a reward.

GetReward

Fetch an existing reward.

Argument Type Required Value
rewardId string No The newly created reward ID.

This method will set a few arguments back :

Argument Type Value
rewardTitle string Reward title.
rewardDescription string Reward short description explaining what it does.
rewardBackgroundColor string Hexadecimal (#RRGGBB) color code.
rewardCost long Reward cost in channel points.
rewardEnabled bool Indicates if the reward is enabled and visible in the rewards list.
rewardPaused bool Indicates if the reward is paused. A paused reward is visible in the rewards list but viewers won't be able to redeem it.
rewardUserInputRequired bool If true, someone redeeming this reward will be able to write some text that will be available in the corresponding trigger.
rewardPrompt string Prompt displayed to the user when input is required.
rewardRedemptionSkipQueue bool Indicates if the reward will skip the redemption queue. If true, redemptions will be automatically accepted and skip the queue.

CreateReward

Create a new reward redeemable with channel points.

Argument Type Required Value
rewardTitle string Yes Reward title.
rewardDescription string Yes Reward short description explaining what it does.
rewardBackgroundColor string Yes Hexadecimal (#RRGGBB) color code. Ex: #000000 is black, #FF0000 is red.
rewardCost long Yes Reward cost in channel points.
rewardEnabled bool No Indicates if the reward is enabled and visible in the rewards list. Default is true.
rewardPaused bool No Indicates if the reward is paused. A paused reward is visible in the rewards list but viewers won't be able to redeem it. Default is false.
rewardUserInputRequired bool No If true, someone redeeming this reward will be able to write some text that will be available in the corresponding trigger. Default is false.
rewardPrompt string No* Prompt displayed to the user when input is required.
rewardRedemptionSkipQueue bool No Indicates if the reward will skip the redemption queue. If true, redemptions will be automatically accepted and skip the queue. Default is false.
  • Yes if rewardUserInputRequired is true, No otherwise.

This method will set a few arguments back :

Argument Type Value
rewardId string The newly created reward ID.

UpdateReward

Update an existing reward.

Argument Type Required Value
rewardId string Yes Reward ID.
rewardTitle string No Reward title.
rewardDescription string No Reward short description explaining what it does.
rewardBackgroundColor string No Hexadecimal (#RRGGBB) color code. Ex: #000000 is black, #FF0000 is red.
rewardCost long No Reward cost in channel points.
rewardEnabled bool No Indicates if the reward is enabled and visible in the rewards list. Default is true.
rewardPaused bool No Indicates if the reward is paused. A paused reward is visible in the rewards list but viewers won't be able to redeem it. Default is false.
rewardUserInputRequired bool No If true, someone redeeming this reward will be able to write some text that will be available in the corresponding trigger. Default is false.
rewardPrompt string No* Prompt displayed to the user when input is required.
rewardRedemptionSkipQueue bool No Indicates if the reward will skip the redemption queue. If true, redemptions will be automatically accepted and skip the queue. Default is false.
  • Yes if rewardUserInputRequired is true, No otherwise.

DeleteReward

Delete a reward permanently.

Argument Type Required Value
rewardId string Yes Reward ID.

ReloadRewards

Reload the rewards list. This affect the trigger context-menu.

Note: This is automatically called internally and should be called only when you change rewards settings outside of the bot.

GetRedemptionsList

List pending redemptions.

Argument Type Required Value
rewardId string No Use this to filter redemptions for a specific reward.

This method will set a few arguments back :

Argument Type Value
redemptionsCount string Redemptions count.
redemptionId string Redemption ID.
redemptionRewardId string Linked reward ID.
redemptionRewardTitle string Linked reward title.
redemptionTransactionId string Internal transaction ID. (Unused)
redemptionUserId long User ID that redeemed the reward.
redemptionUsername string Username that redeemed the reward.
redemptionUsernameColor string Prefered color of user's name.
redemptionStatus string Redemption status.
redemptionChannelId string Original channel ID.

<X> must be replaced by a number between 0 and redemptionsCount excluded.

AcceptRedemption

Accept a user reward redemption.

Argument Type Required Value
redemptionId string Yes Redemption ID.

RejectRedemption

Reject a user reward redemption.

Argument Type Required Value
redemptionId string Yes Redemption ID.

Predictions

GetLatestPrediction

Get the latest launched prediction. If a prediction is running, this method will return it. Otherwise, it will return the latest one is history.

This method will set a few arguments back :

Argument Type Value
predictionId string Prediction ID.
predictionTitle string Prediction title.
predictionState string Current prediction state. Can be ACTIVE, LOCKED, RESOLVED or CANCELLED.
predictionDuration long Duration in seconds of the prediction.
predictionCreatedAt DateTime Prediction stating date.
predictionUpdatedAt DateTime Last prediction update date.
predictionLockedAt DateTime Prediction lock date.
predictionOutcomesCount long Number of possible outcomes.
predictionOutcomeId string Prediction's outcome ID.
predictionOutcomeTitle string Prediction's outcome title.
predictionOutcomeTotalVoteAmount long Prediction's outcome total channel points spent.
predictionOutcomeVoteCount long Prediction's outcome vote count.
predictionOutcomeReturnRate double Prediction's outcome return rate.
predictionWinningOutcomeId string Prediction's winning outcome ID.
predictionWinningOutcomeIndex long Prediction's winning outcome index. ()

<X> will be either 0 or 1 since predictions can only have 2 outcomes for now. Winning outcome arguments will be only set if predictionState is RESOLVED.

GetRecentPredictions

Get a simplified list of recent predictions. Used to rerun a previous prediction. This method has no parameter.

This method will set a few arguments back :

Argument Type Value
predictionsCount long Predictions count.
predictionId string Prediction ID.
predictionTitle string Prediction title.
predictionDuration long Duration in seconds of the prediction.
predictionOutcomeTitle string Prediction's outcome title.

will increment for each prediction, will increment for each possible outcome.

CreatePrediction

Start a new prediction. Only works if no prediction is running (status ACTIVE or LOCKED).

Argument Type Required Value
predictionTitle string Yes Prediction title.
predictionDuration long Yes Duration in seconds of the prediction.
predictionOutcome0 string Yes Prediction's first outcome title.
predictionOutcome1 string Yes Prediction's second outcome title.

This method will set a few arguments back :

Argument Type Value
predictionId string Prediction ID.

CancelPrediction

Cancel a prediction and give channel points back to their users. Only works if the latest prediction is currently ACTIVE or LOCKED.

Argument Type Required Value
predictionId string Yes Prediction ID.

LockPrediction

Lock a prediction, bypassing the initial prediction duration. A locked prediction is still active, but users cannot participate anymore. Only works if the latest prediction is currently ACTIVE.

Argument Type Required Value
predictionId string Yes Prediction ID.

ResolvePrediction

Resolve a prediction and chose the winning outcome. Once resolved, all points will be distributed to all winners. Only works if the latest prediction is currently LOCKED.

Argument Type Required Value
predictionId string Yes Prediction ID.
outcomeId string Yes Prediction's winning outcome ID.

Partners

EnableMultistream

Allows partners to enable multistreaming. Only works when live. This method does not get or set any arguments.

DisableMultistream

Allows partners to disable multistreaming. Only works when live. This method does not get or set any arguments.

⚠️ **GitHub.com Fallback** ⚠️