diff --git a/streamerbot/2.guide/20.platforms/2.trovo.md b/streamerbot/2.guide/20.platforms/2.trovo.md index f97b8ab4..f2befc25 100644 --- a/streamerbot/2.guide/20.platforms/2.trovo.md +++ b/streamerbot/2.guide/20.platforms/2.trovo.md @@ -5,7 +5,6 @@ navigation.icon: null icon: IconTrovo logo: /img/icons/trovo.png version: 0.2.3 -badge: New --- :api-reference-cards{path=trovo} diff --git a/streamerbot/2.guide/20.platforms/3.kick.md b/streamerbot/2.guide/20.platforms/3.kick.md new file mode 100644 index 00000000..02ab4e38 --- /dev/null +++ b/streamerbot/2.guide/20.platforms/3.kick.md @@ -0,0 +1,13 @@ +--- +title: Kick +description: Configure the Kick streaming platform with Streamer.bot +navigation.icon: null +icon: simple-icons:kick +logo: /img/icons/kick.png +version: 1.0.0 +badge: New +--- + +:api-reference-cards{path=kick} + +:wip \ No newline at end of file diff --git a/streamerbot/3.api/1.sub-actions/kick/channel/set-channel-category.md b/streamerbot/3.api/1.sub-actions/kick/channel/set-channel-category.md new file mode 100644 index 00000000..d0938a70 --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/channel/set-channel-category.md @@ -0,0 +1,35 @@ +--- +title: Set Channel Category +description: Update the current category of your Kick channel +parameters: + - name: Source + type: Select + default: String + description: | + Select a source type for the new game value + + - `String`: Select this option to manually enter the game title or load it from a variable + - `Specific Game`: Select this option to select a game from a dropdown + - name: Title + type: Text | Select + description: | + Select the new game category or enter the new game category by name +variables: + - name: category.success + type: bool + description: The status of the sub-action request + value: True/False + - name: category.id + type: string + description: The unique category identifier + value: 5787 + - name: category.name + description: The unique category name + value: Cats & Soup + - name: category.thumbnail + type: string + description: URL to the image for the selected category + value: https://files.kick.com/images/subcategories/5787/banner/conversion/153f16f9-6a5a-4449-b7c2-0a8e14f18092-banner.webp +csharpMethods: + - KickSetCategory +--- \ No newline at end of file diff --git a/streamerbot/3.api/1.sub-actions/kick/channel/set-channel-title.md b/streamerbot/3.api/1.sub-actions/kick/channel/set-channel-title.md new file mode 100644 index 00000000..3e7cf6e9 --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/channel/set-channel-title.md @@ -0,0 +1,15 @@ +--- +title: Set Channel Title +description: Update the current title of your Kick channel +parameters: + - name: Title + type: Text + description: Enter the new title for your stream +variables: + - name: titleSuccess + type: bool + description: The status of the sub-action request + value: True/False +csharpMethods: + - KickSetTitle +--- \ No newline at end of file diff --git a/streamerbot/3.api/1.sub-actions/kick/chat/reply-to-message.md b/streamerbot/3.api/1.sub-actions/kick/chat/reply-to-message.md new file mode 100644 index 00000000..f3914cd6 --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/chat/reply-to-message.md @@ -0,0 +1,35 @@ +--- +title: Reply to Message +description: Send a reply to a specific Kick chat message +parameters: + - name: Reply Id + type: Text + default: '%messageId%' + required: true + description: | + Enter the unique ID of the message to reply to + + ::tip + All triggers that contain the `Kick Chat` variables, will populate the `%messageId%`{lang=cs} variable + :: + - name: Message + type: Text + required: true + description: | + Enter the message contents + - name: Send using bot account + type: Toggle + default: false + description: | + - [x] Send the reply using your **Kick Bot** account + - [ ] Send the reply using your **Kick Broadcaster** account + - name: Fallback to Broadcaster + type: Toggle + default: false + description: | + - [x] If `Send using Bot account` is **checked**, it will attempt to send reply as Kick Bot account and, if unable, then send as Kick Broadcaster. + - [ ] If `Send using Bot account` is **unchecked**, it will attempt to send reply as Kick Bot account and, if unable, then do **nothing** (i.e. the Kick Bot account is not logged in. +variables: [] +csharpMethods: + - KickReplyToMessage +--- diff --git a/streamerbot/3.api/1.sub-actions/kick/chat/send-message-to-channel.md b/streamerbot/3.api/1.sub-actions/kick/chat/send-message-to-channel.md new file mode 100644 index 00000000..b77b47cd --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/chat/send-message-to-channel.md @@ -0,0 +1,25 @@ +--- +title: Send Message +description: Send a Kick chat message +parameters: + - name: Message + type: Text + required: true + description: | + Enter the message contents + - name: Send using bot account + type: Toggle + default: Unchecked + description: | + - [x] Send the reply using your **Kick Bot** account + - [ ] Send the reply using your **Kick Broadcaster** account + - name: Fallback to Broadcaster + type: Toggle + default: Unchecked + description: | + - [x] If `Send using Bot account` is **checked**, it will attempt to send reply as Kick Bot account and, if unable, then send as Kick Broadcaster. + - [ ] If `Send using Bot account` is **unchecked**, it will attempt to send reply as Kick Bot account and, if unable, then do **nothing** (i.e. the Kick Bot account is not logged in. +variables: [] +csharpMethods: + - SendKickMessage +--- \ No newline at end of file diff --git a/streamerbot/3.api/1.sub-actions/kick/moderation/ban-user.md b/streamerbot/3.api/1.sub-actions/kick/moderation/ban-user.md new file mode 100644 index 00000000..0f5eee91 --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/moderation/ban-user.md @@ -0,0 +1,36 @@ +--- +title: Ban User +description: Ban a Kick user +parameters: + - name: User Login + type: String + required: true + description: can be a user name or a variable like `%userName%` + - name: Reason + type: String + required: false + description: ban reason +variables: + - name: bannedUser + type: string + description: display name of the banned user + value: Amouranth + - name: bannedUserName + type: string + description: login name of the banned user + value: Amouranth + - name: bannedUserId + type: string + description: ID of the banned user + value: 12345678 + - name: bannedUserType + type: string + description: platform of the banned user + value: kick + - name: banResult + type: bool + description: indicator whether the ban has been successful or not + value: True/False +csharpMethods: + - KickBanUser +--- \ No newline at end of file diff --git a/streamerbot/3.api/1.sub-actions/kick/moderation/timeout-user.md b/streamerbot/3.api/1.sub-actions/kick/moderation/timeout-user.md new file mode 100644 index 00000000..e2c6ecec --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/moderation/timeout-user.md @@ -0,0 +1,37 @@ +--- +title: Timeout User +description: Timeout a Kick user +parameters: + - name: User Login + type: String + required: true + description: Can be a user name or a variable like `%userName%` + - name: Duration + type: Int + required: true + description: Timeout duration in seconds. `0` is a permanent ban. +variables: + - name: timedOutUser + type: string + description: display name of the timed out user + value: Amouranth + - name: timedOutUserName + type: string + description: login name of the timed out user + value: Amouranth + - name: timedOutUserId + type: string + description: ID of the timed out user + value: 12345678 + - name: timedOutUserType + type: string + description: platform of the timed out user + value: kick + - name: timeoutResult + type: bool + description: indicator whether the timeout has been successful or not + value: True/False +csharpMethods: + - KickTimeoutUser +--- + diff --git a/streamerbot/3.api/1.sub-actions/kick/moderation/unban-user.md b/streamerbot/3.api/1.sub-actions/kick/moderation/unban-user.md new file mode 100644 index 00000000..3da65553 --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/moderation/unban-user.md @@ -0,0 +1,32 @@ +--- +title: Unban User +description: Unban a Kick user +parameters: + - name: User Login + type: String + required: true + description: can be a user name or a variable like `%userName%` +variables: + - name: unbannedUser + type: string + description: display name of the unbanned user + value: Amouranth + - name: unbannedUserName + type: string + description: login name of the banned user + value: Amouranth + - name: unbannedUserId + type: string + description: ID of the banned user + value: 12345678 + - name: unbannedUserType + type: string + description: platform of the banned user + value: kick + - name: unbanResult + type: bool + description: indicator whether the ban has been successful or not + value: True/False +csharpMethods: + - KickUnbanUser +--- \ No newline at end of file diff --git a/streamerbot/3.api/1.sub-actions/kick/moderation/untimeout-user.md b/streamerbot/3.api/1.sub-actions/kick/moderation/untimeout-user.md new file mode 100644 index 00000000..e7df53e0 --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/moderation/untimeout-user.md @@ -0,0 +1,32 @@ +--- +title: UnTimeout User +description: Untimeout a Kick user + +parameters: + - name: User Login + type: String + required: true + description: can be a user name or a variable like `%userName%` +variables: + - name: unTimedOutUser + type: string + description: display name of the untimed-out user + value: Amouranth + - name: unTimedOutUserName + type: string + description: login name of the untimed-out user + value: Amouranth + - name: unTimedOutUserId + type: string + description: ID of the untimed-out user + value: 12345678 + - name: unTimedOutUserType + type: string + description: platform of the untimed-out user + value: kick + - name: unTimedOutResult + type: bool + description: indicator whether the untimeout has been successful or not + value: True/False +csharpMethods: [] +--- diff --git a/streamerbot/3.api/1.sub-actions/kick/user-groups/add-user-to-group.md b/streamerbot/3.api/1.sub-actions/kick/user-groups/add-user-to-group.md new file mode 100644 index 00000000..8fa8882c --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/user-groups/add-user-to-group.md @@ -0,0 +1,20 @@ +--- +title: Add User To Group +description: Add a Kick user to a group +parameters: + - name: User Login + type: String + required: true + description: can be a user name or a variable like `%userName%` + value: Amouranth + - name: Group Name + type: String + required: true + description: can be a specific group name or a variable + value: BestFriends +variables: + - name: addResult + type: bool + description: indicator whether the addition has been successful or not + value: True/False +--- diff --git a/streamerbot/3.api/1.sub-actions/kick/user-groups/remove-user-from-group.md b/streamerbot/3.api/1.sub-actions/kick/user-groups/remove-user-from-group.md new file mode 100644 index 00000000..ca9f17bb --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/user-groups/remove-user-from-group.md @@ -0,0 +1,20 @@ +--- +title: Remove User From Group +description: Remove a Kick user from a group +parameters: + - name: User Login + type: String + required: true + description: can be a user name or a variable like `%userName%` + value: Amouranth + - name: Group Name + type: String + required: true + description: can be a specific group name or a variable + value: BestFriends +variables: + - name: removeResult + type: bool + description: indicator whether the removal has been successful or not + value: True/False +--- diff --git a/streamerbot/3.api/1.sub-actions/kick/user-groups/user-in-group.md b/streamerbot/3.api/1.sub-actions/kick/user-groups/user-in-group.md new file mode 100644 index 00000000..f82d2815 --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/user-groups/user-in-group.md @@ -0,0 +1,36 @@ +--- +title: User in Group +description: Check if a Kick user is a member of a given group +parameters: + - name: User Login + type: String + required: true + description: can be a user name or a variable like `%userName%` + value: Amouranth + - name: Group Name + type: String + required: true + description: can be a specific group name or a variable + value: BestFriends +variables: + - name: inGroup + type: bool + description: indicator whether the user is in the specified group or not + value: True/False + - name: foundUser + type: string + description: the user's display name + value: Amouranth + - name: foundUserName + type: string + description: the user's login name + value: Amouranth + - name: foundUserId + type: string + description: the user's ID + value: 12345678 + - name: foundUserType + type: string + description: the user's platform + value: kick +--- diff --git a/streamerbot/3.api/1.sub-actions/kick/user/add-broadcaster-information.md b/streamerbot/3.api/1.sub-actions/kick/user/add-broadcaster-information.md new file mode 100644 index 00000000..993f16a8 --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/user/add-broadcaster-information.md @@ -0,0 +1,27 @@ +--- +title: Add Broadcaster Information +description: Fetch user data for the connected Kick broadcaster account +variables: + - name: broadcastUser + description: Display name of the broadcaster account + type: string + value: Mustached_Maniac + - name: broadcastUserName + description: Username of the broadcaster account + type: string + value: mustached_maniac + - name: broadcastUserId + description: Unique user ID of the broadcaster account + type: string + value: 11088894 + - name: broadcastUserType + description: Platform type of the broadcaster account + type: string + value: Kick + - name: broadcasterProfileUrl + description: Link to the 300x300px PNG version of the broadcaster's Kick profile image + type: string + value: https://files.kick.com/images/user/11088894/profile_image/conversion/4495b495-4753-455c-9434-7debf0b82ba3-fullsize.webp +csharpMethods: + - KickGetBroadcaster +--- diff --git a/streamerbot/3.api/1.sub-actions/kick/user/add-random-users.md b/streamerbot/3.api/1.sub-actions/kick/user/add-random-users.md new file mode 100644 index 00000000..e12067cf --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/user/add-random-users.md @@ -0,0 +1,35 @@ +--- +title: Add Random Users +description: Get a custom amount of random Kick users +parameters: + - name: Count + type: Int + required: true + description: Specify the amount of random users with number or a variable like `%randomNumber%`. + - name: Present Only + type: Toggle + default: false + description: If checked will only get random users from the current present viewers. If count is bigger than the current amount of viewers it will only populate max the amount of viewers. + - name: Include Groups + type: Toggle + default: false + description: If checked will include groups in the random users. Select a group from the dropdown and press 'Add' to add it to the list. +variables: + - name: randomUser# + type: string + description: The random user's display name, with `#` index starting at 0 + value: StreamerDotBot + - name: randomUserName# + type: string + description: The random user's login name, with `#` index starting at 0 + value: streamerdotbot + - name: randomUserId# + type: string + description: The random user's id, with `#` index starting at 0 + value: 12345678 + - name: randomUserType# + type: string + description: the random user's platform, with `#` index starting at 0 + value: kick +csharpMethods: [] +--- \ No newline at end of file diff --git a/streamerbot/3.api/1.sub-actions/kick/user/get-user-info-for-target.md b/streamerbot/3.api/1.sub-actions/kick/user/get-user-info-for-target.md new file mode 100644 index 00000000..c17ba5f4 --- /dev/null +++ b/streamerbot/3.api/1.sub-actions/kick/user/get-user-info-for-target.md @@ -0,0 +1,21 @@ +--- +title: Get User Info for Target Info +description: Fetch Kick user data and populate a set of variables +variables: + - name: targetUser + description: Display name of the target user + - name: targetUserName + description: User name of the target user + - name: targetUserId + description: User Id of the target user + - name: targetDescription + description: The user's channel description + - name: targetDescriptionEscaped + description: The user's channel description but URL encoded + - name: targetUserProfileImageUrl + description: link to the 300x300px PNG version of a user's twitch profile image + - name: targetUserProfileImageUrlEscaped + description: The url to the user's profile image URL encoded + - name: targetUserType + description: The type of user, `affiliate`, `partner` or empty for regular user +--- diff --git a/streamerbot/3.api/2.triggers/kick/channel/follow.md b/streamerbot/3.api/2.triggers/kick/channel/follow.md new file mode 100644 index 00000000..d4f34be7 --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/channel/follow.md @@ -0,0 +1,7 @@ +--- +title: Follow +description: Trigger for a Kick Follow +variables: [] +commonVariables: + - KickUser +--- \ No newline at end of file diff --git a/streamerbot/3.api/2.triggers/kick/channel/stream-offline.md b/streamerbot/3.api/2.triggers/kick/channel/stream-offline.md new file mode 100644 index 00000000..b7d728ed --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/channel/stream-offline.md @@ -0,0 +1,17 @@ +--- +title: Stream Offline +description: Trigger for when your Kick stream ends +variables: + - name: startedAt + type: DateTime + description: The date and time that the stream was started + value: 7/19/2025 9:04:22 PM + - name: endedAt + type: DateTime + description: The date and time that the stream was ended + value: 7/19/2025 10:04:22 PM + - name: title + type: String + description: The title of the stream + value: My Awesome Kick Stream +--- \ No newline at end of file diff --git a/streamerbot/3.api/2.triggers/kick/channel/stream-online.md b/streamerbot/3.api/2.triggers/kick/channel/stream-online.md new file mode 100644 index 00000000..a96d0de4 --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/channel/stream-online.md @@ -0,0 +1,25 @@ +--- +title: Stream Online +description: Trigger for when your Kick stream starts +variables: + - name: startedAt + type: DateTime + description: The date and time that the stream was ended + value: 7/19/2025 10:07:30 PM + - name: title + type: string + description: The title of the stream + value: My Awesome Kick Stream + - name: category.name + type: string + description: The name of the Kick category + value: Cats & Soup + - name: category.id + type: number + description: The unique identifier of the Kick category + value: 5787 + - name: category.thumbnail + type: string + description: URL to the image for the selected category + value: https://files.kick.com/images/subcategories/5787/banner/conversion/153f16f9-6a5a-4449-b7c2-0a8e14f18092-banner.webp +--- \ No newline at end of file diff --git a/streamerbot/3.api/2.triggers/kick/channel/viewer-count-update.md b/streamerbot/3.api/2.triggers/kick/channel/viewer-count-update.md new file mode 100644 index 00000000..46699466 --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/channel/viewer-count-update.md @@ -0,0 +1,11 @@ +--- +title: Viewer Count Update +description: Trigger for when your Kick viewer count updates +parameters: + - name: Range +variables: + - name: viewerCount + type: number + description: The new Kick viewer count + value: 69 +--- diff --git a/streamerbot/3.api/2.triggers/kick/chat/first-words.md b/streamerbot/3.api/2.triggers/kick/chat/first-words.md new file mode 100644 index 00000000..ef06337d --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/chat/first-words.md @@ -0,0 +1,33 @@ +--- +title: First Words +description: Trigger for a Kick First Words +variables: + - name: firstMessage + type: bool + description: indicator whether the user's message was the first message **ever** in the channel + value: True +commonVariables: + - KickUser + - KickChat +--- + + +## Details +This triggers when someone sends their first message of the stream. + +The exact reset time is set in `Platforms -> Kick -> First Words` and is `12h` by default. That means that Streamer.bot must have been closed for 12 hours in order to reset the First Words trigger. + +::tip +If you want to reset the First Words trigger, you can do so by going to `Platforms -> Kick -> First Words` and clicking the `Reset` button. This will reset the First Words trigger and allow it to be triggered again. +:: + + +## Parameters +::field-group + ::field{name="User Name" type=Text} + If you want to filter on a user name, you can enter a user name in this field + :: + ::field{name="Is UserId" type=Checkbox} + Check this field if the text in the `User Name` field is a user id + :: +:: diff --git a/streamerbot/3.api/2.triggers/kick/chat/message.md b/streamerbot/3.api/2.triggers/kick/chat/message.md new file mode 100644 index 00000000..466c8013 --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/chat/message.md @@ -0,0 +1,15 @@ +--- +title: Chat Message +description: Trigger for a Kick Chat Message +variables: + - name: isInternal + type: boolean + description: | + If message was sent via Streamer.bot sub-action or C# + + Messages from Streamer.bot Chat are not considered as internal since `0.2.5` + value: True / False +commonVariables: + - KickUser + - KickChat +--- diff --git a/streamerbot/3.api/2.triggers/kick/emotes/seventv-emote-added.md b/streamerbot/3.api/2.triggers/kick/emotes/seventv-emote-added.md new file mode 100644 index 00000000..14368191 --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/emotes/seventv-emote-added.md @@ -0,0 +1,13 @@ +--- +title: SevenTV Emote Added +description: Trigger for when a SevenTV emote has been added to the Kick channel +variables: + - name: emote + type: string + description: name of the emote + value: (ditto) + - name: imageUrl + type: string + description: url of the emote image + value: https://cdn.7tv.app/emote/62eb2d7cf9181963f72015da/4x.webp +--- diff --git a/streamerbot/3.api/2.triggers/kick/emotes/seventv-emote-removed.md b/streamerbot/3.api/2.triggers/kick/emotes/seventv-emote-removed.md new file mode 100644 index 00000000..b326cc35 --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/emotes/seventv-emote-removed.md @@ -0,0 +1,13 @@ +--- +title: SevenTV Emote Removed +description: Trigger for when a SevenTV emote has been removed from the Kick channel +variables: + - name: emote + type: string + description: name of the emote + value: (ditto) + - name: imageUrl + type: string + description: url of the emote image + value: https://cdn.7tv.app/emote/62eb2d7cf9181963f72015da/4x.webp +--- diff --git a/streamerbot/3.api/2.triggers/kick/general/channel-update.md b/streamerbot/3.api/2.triggers/kick/general/channel-update.md new file mode 100644 index 00000000..13fcc4c0 --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/general/channel-update.md @@ -0,0 +1,35 @@ +--- +title: Channel Update +description: Trigger for a Kick Channel Update +variables: + - name: category.success + type: bool + description: The status of the sub-action request + value: True/False + - name: category.id + type: string + description: The unique category identifier + value: 5787 + - name: category.name + description: The unique category name + value: Cats & Soup + - name: category.thumbnail + type: string + description: URL to the image for the selected category + value: https://files.kick.com/images/subcategories/5787/banner/conversion/153f16f9-6a5a-4449-b7c2-0a8e14f18092-banner.webp +commonVariables: + - KickUser +--- + +## Details +This triggers when the title or the description changes on your stream. + +## Parameters +::field-group + ::field{name="Game Only" type=Checkbox} + Check this field if you only want this to trigger when the game changes + :: + ::field{name=Game type=Select} + Select a game if you only want this to trigger when the stream changes to this game + :: +:: diff --git a/streamerbot/3.api/2.triggers/kick/general/present-viewers.md b/streamerbot/3.api/2.triggers/kick/general/present-viewers.md new file mode 100644 index 00000000..5f6097ae --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/general/present-viewers.md @@ -0,0 +1,71 @@ +--- +title: Present Viewers +description: Trigger for the Kick present viewers event +variables: + - name: isTest + type: boolean + description: Is this event a test? + - name: isLive + type: boolean + description: Is the stream live? + value: True + - name: users + type: List> + description: A C# accessible list of users present in chat + variables: + - name: id + type: string + description: The user id of the user + value: a126e8a8-43f7-4a14-8990-e8c3feea76d8 + - name: userName + type: string + description: The user name of the user + value: kickuser123 + - name: display + type: string + description: The display name of the user + value: KickUser123 + - name: role + type: number + description: The role of the user
1=`Viewer`, 2=`VIP`, 3=`Moderator`, 4=`Broadcaster` + value: 1 + - name: isSubscribed + type: boolean + description: Is the user a subscriber? + value: True + - name: title + type: string + description: The title of the stream + value: Super Awesome Kick Stream Title + - name: viewerCount + type: number + description: The number of viewers currently present in the stream + value: 69 + - name: startedAt + type: DateTime + description: The date and time when the stream started + value: 7/19/2025 10:38:24 PM + - name: categoryId + type: string + description: The category id of the stream + value: 5787 + - name: categoryName + type: string + description: The category name of the stream + value: Cats & Soup + - name: categoryThumbnail + type: string + description: The category thumbnail of the stream + value: https://files.kick.com/categories/5787/thumbnail +commonVariables: + - KickBroadcaster +--- + +## Notes +The Kick present viewer acts more like a chat activity tracker. There is no "Live-Update" option for Kick as the API does not provide the viewer list. + +Under the `Platforms > Kick > Settings`, you will find the options for the Present Viewers Trigger. + +The slider behaves as a threshold. The timer runs every minute, and checks the current time minus the user's last active time, if this is less then the threshold, they are marked as present, otherwise they are marked as not present. The trigger will be executed every minute. + +The default setting is the slider set to `5` minutes. \ No newline at end of file diff --git a/streamerbot/3.api/2.triggers/kick/moderation/user-banned.md b/streamerbot/3.api/2.triggers/kick/moderation/user-banned.md new file mode 100644 index 00000000..e2985750 --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/moderation/user-banned.md @@ -0,0 +1,28 @@ +--- +title: User Banned +description: Trigger for Kick user banned events +variables: + - name: createdAt + type: DateTime + description: The time the ban was created + value: 7/19/2025 10:38:24 PM + - name: createdById + type: string + description: The user id of the user who created the ban + value: 11088894 + - name: createdByUsername + type: string + description: The user name of the user who created the ban + value: kickmod123 + - name: createdByDisplayName + type: string + description: The display name of the user who created the ban + value: KickMod123 + - name: reason + type: string + description: The reason for the ban + value: You were being rude in chat +commonVariables: + - KickUser + - KickBroadcaster +--- diff --git a/streamerbot/3.api/2.triggers/kick/moderation/user-timed-out.md b/streamerbot/3.api/2.triggers/kick/moderation/user-timed-out.md new file mode 100644 index 00000000..8903070a --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/moderation/user-timed-out.md @@ -0,0 +1,32 @@ +--- +title: User Timed Out +description: Trigger for when a Kick User is Timed Out +variables: + - name: createdAt + type: DateTime + description: The timestamp when the timeout was created + value: 7/19/2025 10:38:24 PM + - name: createdById + type: string + description: The Kick user id from who created the timeout + value: 11088894 + - name: createdByUsername + type: string + description: The Kick user name from who created the timeout + value: kickmod123 + - name: createdByDisplayName + type: string + description: The Kick display name from who created the timeout + value: KickMod123 + - name: duration + type: number + description: The duration of the timeout + value: 300 + - name: reason + type: string + description: The reason for the timeout + value: My timeout reason +commonVariables: + - KickUser + - KickBroadcaster +--- \ No newline at end of file diff --git a/streamerbot/3.api/2.triggers/kick/subscriptions/gift-subscription.md b/streamerbot/3.api/2.triggers/kick/subscriptions/gift-subscription.md new file mode 100644 index 00000000..58f02e2c --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/subscriptions/gift-subscription.md @@ -0,0 +1,6 @@ +--- +title: Gift Subscription +description: Trigger for a Kick Gift Subscription +--- + +:wip \ No newline at end of file diff --git a/streamerbot/3.api/2.triggers/kick/subscriptions/mass-gift-subscription.md b/streamerbot/3.api/2.triggers/kick/subscriptions/mass-gift-subscription.md new file mode 100644 index 00000000..820f318d --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/subscriptions/mass-gift-subscription.md @@ -0,0 +1,6 @@ +--- +title: Mass Gift Subscription +description: Trigger for a Kick Mass Gift Subscription +--- + +:wip \ No newline at end of file diff --git a/streamerbot/3.api/2.triggers/kick/subscriptions/resubscription.md b/streamerbot/3.api/2.triggers/kick/subscriptions/resubscription.md new file mode 100644 index 00000000..09220c0b --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/subscriptions/resubscription.md @@ -0,0 +1,6 @@ +--- +title: Gift Resubscription +description: Trigger for a Kick Resubscription +--- + +:wip \ No newline at end of file diff --git a/streamerbot/3.api/2.triggers/kick/subscriptions/subscription.md b/streamerbot/3.api/2.triggers/kick/subscriptions/subscription.md new file mode 100644 index 00000000..8d09eaca --- /dev/null +++ b/streamerbot/3.api/2.triggers/kick/subscriptions/subscription.md @@ -0,0 +1,6 @@ +--- +title: Subscription +description: Trigger for a Kick Subscription +--- + +:wip \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_classes/ClipData.md b/streamerbot/3.api/3.csharp/_classes/ClipData.md index 1ba8513e..b7824445 100644 --- a/streamerbot/3.api/3.csharp/_classes/ClipData.md +++ b/streamerbot/3.api/3.csharp/_classes/ClipData.md @@ -1,4 +1,4 @@ -```csharp +```cs public class ClipData { public string Id; diff --git a/streamerbot/3.api/3.csharp/_classes/GlobalVariableValue.md b/streamerbot/3.api/3.csharp/_classes/GlobalVariableValue.md index af73eb8e..f783e32a 100644 --- a/streamerbot/3.api/3.csharp/_classes/GlobalVariableValue.md +++ b/streamerbot/3.api/3.csharp/_classes/GlobalVariableValue.md @@ -1,4 +1,4 @@ - ```cs +```cs public class GlobalVariableValue { public string VariableName { get; set; } diff --git a/streamerbot/3.api/3.csharp/_classes/GroupUser.md b/streamerbot/3.api/3.csharp/_classes/GroupUser.md index ee911ad7..da080679 100644 --- a/streamerbot/3.api/3.csharp/_classes/GroupUser.md +++ b/streamerbot/3.api/3.csharp/_classes/GroupUser.md @@ -1,4 +1,4 @@ -```csharp +```cs public class GroupUser { public string Id; diff --git a/streamerbot/3.api/3.csharp/_classes/KickCategory.md b/streamerbot/3.api/3.csharp/_classes/KickCategory.md new file mode 100644 index 00000000..114cfb09 --- /dev/null +++ b/streamerbot/3.api/3.csharp/_classes/KickCategory.md @@ -0,0 +1,8 @@ +```cs +public class KickCategory +{ + public int Id { get; set; } + public string Name { get; set; } + public string Thumbnail { get; set; } +} +``` \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_classes/KickUserInfo.md b/streamerbot/3.api/3.csharp/_classes/KickUserInfo.md new file mode 100644 index 00000000..bf87812e --- /dev/null +++ b/streamerbot/3.api/3.csharp/_classes/KickUserInfo.md @@ -0,0 +1,10 @@ +```cs +public class KickUserInfo +{ + public string UserName { get; set; } + public string UserLogin { get; set; } + public string UserId { get; set; } + public DateTime LastActive { get; set; } + public DateTime PreviousActive { get; set; } +} +``` \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_classes/TwitchRewardCounter.md b/streamerbot/3.api/3.csharp/_classes/TwitchRewardCounter.md index e8213fb1..f4e0d6f4 100644 --- a/streamerbot/3.api/3.csharp/_classes/TwitchRewardCounter.md +++ b/streamerbot/3.api/3.csharp/_classes/TwitchRewardCounter.md @@ -1,4 +1,4 @@ - ```cs +```cs public class TwitchRewardCounter { public string UserId { get; set; } diff --git a/streamerbot/3.api/3.csharp/_classes/UserVariableValue.md b/streamerbot/3.api/3.csharp/_classes/UserVariableValue.md index 4a537f5f..35ffdd74 100644 --- a/streamerbot/3.api/3.csharp/_classes/UserVariableValue.md +++ b/streamerbot/3.api/3.csharp/_classes/UserVariableValue.md @@ -4,7 +4,7 @@ public class UserVariableValue public string UserId public string UserName; public string UserLogin; - public string UserType; //"Twitch","YouTube", "Trovo"... + public string UserType; //"Twitch", "Kick", "YouTube", "Trovo"... public string VariableName; public T Value; diff --git a/streamerbot/3.api/3.csharp/_methods/kick/GetKickUserVar.md b/streamerbot/3.api/3.csharp/_methods/kick/GetKickUserVar.md new file mode 100644 index 00000000..322c7156 --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/GetKickUserVar.md @@ -0,0 +1,4 @@ +--- +description: Gets the value of a specific Kick user variable by the user's name +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/GetKickUserVarById.md b/streamerbot/3.api/3.csharp/_methods/kick/GetKickUserVarById.md new file mode 100644 index 00000000..7992eb2c --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/GetKickUserVarById.md @@ -0,0 +1,4 @@ +--- +description: Gets the value of a specific Kick user variable by the user's ID +version: 1.0.0 +--- diff --git a/streamerbot/3.api/3.csharp/_methods/kick/IncrementAllKickUsersVar.md b/streamerbot/3.api/3.csharp/_methods/kick/IncrementAllKickUsersVar.md new file mode 100644 index 00000000..778a13c9 --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/IncrementAllKickUsersVar.md @@ -0,0 +1,13 @@ +--- +description: Increments the value of a specific user global variable for all Kick users who have it set +version: 1.0.0 +parameters: + - name: varName + description: Name of the user variable + - name: value + description: Value of how much the user variables should be incremented by + - name: persisted + description: | + - `true` - Persisted user variables will be affected + - `false` - Non-persisted user variable will be affected +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/IncrementAllKickUsersVarById.md b/streamerbot/3.api/3.csharp/_methods/kick/IncrementAllKickUsersVarById.md new file mode 100644 index 00000000..975908fe --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/IncrementAllKickUsersVarById.md @@ -0,0 +1,17 @@ +--- +description: Increments the values of Kick user variables for a list of user IDs. +version: 1.0.0 +parameters: + - name: userIds + description: | + List of user IDs to increment the variable for. If a user ID does not exist, it will be ignored. + Example: `["123456789", "987654321"]` + - name: varName + description: Name of the user variable + - name: value + description: Value of how much the user variables should be incremented by + - name: persisted + description: | + - `true` - Persisted user variables will be affected + - `false` - Non-persisted user variable will be affected +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/IncrementOrCreateKickUsersVarById.md b/streamerbot/3.api/3.csharp/_methods/kick/IncrementOrCreateKickUsersVarById.md new file mode 100644 index 00000000..6bde2baa --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/IncrementOrCreateKickUsersVarById.md @@ -0,0 +1,17 @@ +--- +description: Increments the values of Kick user variables for a list of user IDs. If the variable does not exist for a user, it will be created and set to the incremented value. +version: 1.0.0 +parameters: + - name: userIds + description: | + List of user IDs to increment the variable for. If a user ID does not exist, it will be ignored. + Example: `["123456789", "987654321"]` + - name: varName + description: Name of the user variable + - name: value + description: Value of how much the user variables should be incremented by + - name: persisted + description: | + - `true` - Persisted user variables will be affected + - `false` - Non-persisted user variable will be affected +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/KickBanUser.md b/streamerbot/3.api/3.csharp/_methods/kick/KickBanUser.md new file mode 100644 index 00000000..a91fe38d --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/KickBanUser.md @@ -0,0 +1,4 @@ +--- +description: Bans the selected Kick user for the selected reason +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/KickGetBot.md b/streamerbot/3.api/3.csharp/_methods/kick/KickGetBot.md new file mode 100644 index 00000000..9f886d9b --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/KickGetBot.md @@ -0,0 +1,4 @@ +--- +description: Returns user info for the Kick bot account (if one exists) +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/KickGetBroadcaster.md b/streamerbot/3.api/3.csharp/_methods/kick/KickGetBroadcaster.md new file mode 100644 index 00000000..9158bd39 --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/KickGetBroadcaster.md @@ -0,0 +1,4 @@ +--- +description: Returns user info for the Kick Broadcaster account (if one exists) +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/KickReplyToMessage.md b/streamerbot/3.api/3.csharp/_methods/kick/KickReplyToMessage.md new file mode 100644 index 00000000..dce544f8 --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/KickReplyToMessage.md @@ -0,0 +1,39 @@ +--- +description: Send a reply to a specific Kick chat message +version: 1.0.0 +parameters: + - name: message + default: '"Hello, world!"' + description: Enter the message contents + - name: replyId + default: 'args["messageId"]' + description: Enter the unique ID of the message to reply to + - name: useBot + default: true + description: | + - `true`{lang=cs} - Send the reply using your **Kick Bot** account + - `false`{lang=cs} - Send the reply using your **Kick Broadcaster** account + - name: fallback + default: true + description: | + - `true`{lang=cs} - (If `bot` bool is set to `True`), this is the same behavior as if you had Bot as your preferred account. + - `false`{lang=cs} - (If `bot` bool is set to `True`), it will try to send using **only** the Bot account, and do **nothing** if it can't (i.e, not logged in). +example: | + using System; + public class CPHInline + { + public bool Execute() + { + //Get message id to reply to + CPH.TryGetArg("messageId", out string messageId); + + //Set message for reply + string message = "This is a test reply."; + + //Send reply with bot account + CPH.KickReplyToMessage(message, messageId, true, true); + + return true; + } + } +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/KickSetCategory.md b/streamerbot/3.api/3.csharp/_methods/kick/KickSetCategory.md new file mode 100644 index 00000000..47f3479e --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/KickSetCategory.md @@ -0,0 +1,4 @@ +--- +description: Sets the category for the current Kick broadcast +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/KickSetTitle.md b/streamerbot/3.api/3.csharp/_methods/kick/KickSetTitle.md new file mode 100644 index 00000000..3888f3fc --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/KickSetTitle.md @@ -0,0 +1,4 @@ +--- +description: Sets the title for the current Kick broadcast +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/KickTimeoutUser.md b/streamerbot/3.api/3.csharp/_methods/kick/KickTimeoutUser.md new file mode 100644 index 00000000..cd7c8e68 --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/KickTimeoutUser.md @@ -0,0 +1,4 @@ +--- +description: Times out the selected Kick user for the selected duration +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/KickUnbanUser.md b/streamerbot/3.api/3.csharp/_methods/kick/KickUnbanUser.md new file mode 100644 index 00000000..3ffaf82d --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/KickUnbanUser.md @@ -0,0 +1,4 @@ +--- +description: Unbans the selected Kick user +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/SendKickMessage.md b/streamerbot/3.api/3.csharp/_methods/kick/SendKickMessage.md new file mode 100644 index 00000000..38d4282b --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/SendKickMessage.md @@ -0,0 +1,4 @@ +--- +description: Sends a chat message to the Kick chat +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/SetKickUserVar.md b/streamerbot/3.api/3.csharp/_methods/kick/SetKickUserVar.md new file mode 100644 index 00000000..032eee12 --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/SetKickUserVar.md @@ -0,0 +1,4 @@ +--- +description: Sets the value of a specific Kick user variable by the user's name +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/SetKickUserVarById.md b/streamerbot/3.api/3.csharp/_methods/kick/SetKickUserVarById.md new file mode 100644 index 00000000..c5c6bbd9 --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/SetKickUserVarById.md @@ -0,0 +1,4 @@ +--- +description: Sets the value of a specific Kick user variable by the user's ID +version: 1.0.0 +--- diff --git a/streamerbot/3.api/3.csharp/_methods/kick/SetKickUsersVarById.md b/streamerbot/3.api/3.csharp/_methods/kick/SetKickUsersVarById.md new file mode 100644 index 00000000..87fe45e6 --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/SetKickUsersVarById.md @@ -0,0 +1,4 @@ +--- +description: Sets the value of a specific user Kick variable for a list of users by their IDs +version: 1.0.0 +--- diff --git a/streamerbot/3.api/3.csharp/_methods/kick/UnsetKickUserVar.md b/streamerbot/3.api/3.csharp/_methods/kick/UnsetKickUserVar.md new file mode 100644 index 00000000..32312433 --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/UnsetKickUserVar.md @@ -0,0 +1,4 @@ +--- +description: Permanently deletes the value of a specific Kick user variable by the user's name +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/3.csharp/_methods/kick/UnsetKickUserVarById.md b/streamerbot/3.api/3.csharp/_methods/kick/UnsetKickUserVarById.md new file mode 100644 index 00000000..96799d6f --- /dev/null +++ b/streamerbot/3.api/3.csharp/_methods/kick/UnsetKickUserVarById.md @@ -0,0 +1,4 @@ +--- +description: Permanently deletes the value of a specific Kick user variable by the user's ID +version: 1.0.0 +--- \ No newline at end of file diff --git a/streamerbot/3.api/_variables/kick/KickBroadcaster.md b/streamerbot/3.api/_variables/kick/KickBroadcaster.md new file mode 100644 index 00000000..9050034c --- /dev/null +++ b/streamerbot/3.api/_variables/kick/KickBroadcaster.md @@ -0,0 +1,21 @@ +--- +title: Kick Broadcaster Variables +navigation.title: Kick Broadcaster +variables: + - name: broadcastUser + type: string + description: The Kick user name of the broadcaster account + value: kickuser123 + - name: broadcastUsername + type: string + description: The Kick user name of the broadcaster account + value: kickuser123 + - name: broadcastUserId + type: string + description: The Kick user ID of the broadcaster account + value: 11088894 + - name: broadcastUserProfileImage + type: string + description: The profile image of the broadcaster account + value: https://files.kick.com/images/user/11088894/profile_image/conversion/4495b495-4753-455c-9434-7debf0b82ba3-fullsize.webp +--- diff --git a/streamerbot/3.api/_variables/kick/KickChat.md b/streamerbot/3.api/_variables/kick/KickChat.md new file mode 100644 index 00000000..e0ee2c69 --- /dev/null +++ b/streamerbot/3.api/_variables/kick/KickChat.md @@ -0,0 +1,94 @@ +--- +title: Kick Chat Variables +navigation.title: Kick Chat +variables: + - name: messageId + type: string + description: Kick's message identifier + value: 1e984859-a29f-4dd3-b2fb-d13e70b6b4e8 + - name: message + type: string + description: Text content of the chat message + value: Hello! + - name: messageStripped + type: string + description: The chat message with emotes stripped + value: Hello! + - name: color + type: string + description: Hex value of the user's chat color + value: '#e5e5e5' + - name: colorR + type: string + description: The red in RGB of the user's chat color + value: 229 + - name: colorG + type: string + description: The green in RGB of the user's chat color + value: 229 + - name: colorB + type: string + description: The blue in RGB of the user's chat color + value: 229 + - name: emoteCount + type: number + description: Number of emotes in the chat message + value: 3 + - name: emotes + type: List + description: A C# accessible list of emotes used in the chat message + variables: + - name: emotes.#.text + type: string + description: Plain text name of the emote + value: emojiAngry + - name: emotes.#.id + type: number + description: Unique identifier for the emote + value: 1730753 + - name: emotes.#.url + type: string + description: URL of the emote image + value: https://files.kick.com/emotes/1730753/fullsize + - name: badgeCount + type: number + description: Number of badges the user has + value: 1 + - name: badge + type: List + description: A C# accessible list of badges used in the chat message + variables: + - name: badge.#.id + type: string + description: Plain text name of the badge + value: broadcaster + - name: badge.#.name + type: string + description: Unique identifier for the badge + value: Broadcaster + - name: badge.#.info + type: string + description: URL of the badge image + value: https://files.kick.com/badges/broadcaster + - name: rawInput + type: string + description: The message receieved in chat + - name: rawInputEscaped + type: string + description: The message escaped + - name: rawInputUrlEncoded + type: string + description: The message URL encoded + - name: input.count + type: number + description: The number of words in the message received + - name: input# + type: string + description: The `#` word of the message entered, spaces are delimiters and variable names are 0 indexed, so `input0` would give the first word, `input1` would give the second, and so on + - name: inputEscaped# + type: string + description: The indexed word escaped + - name: inputUrlEncoded# + type: string + description: The indexed word URL encoded +--- \ No newline at end of file diff --git a/streamerbot/3.api/_variables/kick/KickUser.md b/streamerbot/3.api/_variables/kick/KickUser.md new file mode 100644 index 00000000..d21dc871 --- /dev/null +++ b/streamerbot/3.api/_variables/kick/KickUser.md @@ -0,0 +1,37 @@ +--- +title: Kick User Variables +navigation.title: Kick User +variables: + - name: user + type: string + description: The display name of the user + value: KickUser123 + - name: userName + type: string + description: The login name of the user + value: kickuser123 + - name: userId + type: string + description: Unique user identifier + value: 718933593 + - name: userType + type: string + description: Streaming service of this user + value: kick + - name: userGroups + type: string + description: Comma-delimited list of groups the user is in + value: Awesome Streamers,Discord Peeps,Top Contributors + - name: isSubscribed + type: boolean + description: Is this user subscribed? + value: True + - name: isModerator + type: boolean + description: Is this user a moderator? + value: True + - name: userPreviousActive + type: DateTime + description: When was this user last active? + value: 7/19/2025 4:56:06 PM +---