SAMMI Stuff

Find all the information you need to set up Deck Hopper and my extensions for your SAMMI.

Random Bunny

SAMMI Extensions

Kick Streaming

Get on Ko-fi
Slide 0
Slide 1
Slide 2

The Kick Streaming extension allows you to control and interact with Kick through SAMMI commands and triggers.

Unofficial Kick API

The extension uses an unofficial Kick API and might not be fully functional at times. By purchasing it, you're supporting its future development.

Features

Viewer Engagement

  • Trigger events based on new followers, subscribers, gift subscribers, and hosts

Chat Messages

  • Listen for messages from specific roles, including broadcaster, mods, subscribers, and founders
  • Wildcard functionality to trigger for all messages or specific ones

User Interaction

  • Ban, unban or timeout users with a simple command
  • Promote or demote users to chat moderators
  • Listen to hosting events, chat updates, and chat clear events

Stream Moderation

  • Monitor and manage user bans and unbans

Poll Management

  • Create and delete polls, and listen to poll update events to retrieve the current poll information, such as the number of votes

User and Channel Data Retrieval

  • Get information about channels, such as the number of followers
  • Get information about your viewers, such as whether they are subscribers

Setup

Unofficial Kick API Limitations

This extension works with the unofficial Kick API. Because the API changes frequently, commands or triggers can stop working or change without notice.

  1. Install the extension. You can follow the Extension Install Guide.

  2. Connect SAMMI to Bridge. Bridge must always be running and connected for the Kick extension to function.

  3. Set up your Kick login details in the Bridge - Kick Streaming tab.

    • Broadcaster Name: Your Kick channel name for streaming.

      Channel Name Modification

      Kick modifies channel names containing underscores, such as "_" becomes "-". For example, 'christina_k' becomes 'christina-k'. Verify your exact channel name by navigating to your Kick channel (https://kick.com/yourName).

    • Bot Email: Create a secondary Kick account for sending chat messages and other requests.
      This account must be made a moderator on your broadcaster channel.

      Use a Disposable Account

      Do not use your main broadcasting account’s login details for the bot. Always use a disposable Kick account, in case it gets banned (though the chances are slim).

    • Bot Password: Set a password for this alternate account.

      Password Requirements

      Please use a throwaway password with only alphanumeric and special characters ?!@#$%^&*()_+. Do not use escape characters like \ or /.

  4. After pressing Login, you may get a popup asking you to provide verification code sent to your Kick bot email. Once you provide it and press Ok, you should now be Logged in as your bot and be connected to your broadcaster channel. The extension will remember your login details from now on and will automatically log you in.

  5. You're all set! Explore the premade Kick deck in SAMMI for available commands and triggers.

Premade Deck Advice

Due to frequent updates to the extension, it's best not to add your own buttons or commands to the premade Kick deck. Instead, use the examples to create your own buttons in a different deck.


Getting Around Cloudflare Using Proxy

If you're unable to log into Kick, or SAMMI gives you a yellow alert 'Cloudflare detected', you can try using a proxy to bypass this. Unfortunately, this is a limitation of the Kick API and not something that can be fixed on the SAMMI side.


Replaying Events

You can replay any previous event via the Bridge - Kick Streaming tab. Simply select the event from the dropdown and click Replay. The full event will be delivered to SAMMI and triggered just like a live event would. Useful for testing your buttons.


Logging Events and Commands

You can enable logging for all events and commands related to Kick. These logs can be saved as a text file. This is helpful for troubleshooting or detecting new events. Send these logs to the extension developer for review if needed.


Kick Commands

Command Usage Reminder

These commands require a waiting period before 'Save Variable As' is populated. Use the Wait Until Variable Exists command, and remember to delete the variable you're waiting for beforehand.

Persistent Buttons

All buttons with Kick commands must be set to persistent.

Kick: Get Channel Info

Retrieves public information for the specified channel.

Box NameDescription
Channel NameChannel name to get the information of
TypeType of information to retrieve: <br> - Channel ID <br> - Follower Count <br> - Viewer Count <br> - Is Mature <br> - Stream Title <br> - Stream Categories <br> - Subscriber Badges <br> - Chat Mode <br> - Profile Picture <br> - Banner Picture <br> - Past Broadcasts
Save Variable AsVariable Name to save the result into

Kick: Get User Info

Retrieves user information in relation to your channel.

Box NameDescription
Channel NameLeave empty for your own channel, or specify another channel name
User NameUser information to check
TypeType of information to retrieve: <br> - All <br> - User ID <br> - Is Subscriber <br> - Is Moderator <br> - Is Follower <br> - Is Banned <br> - Subscription Months <br> - Profile Picture
Save Variable AsVariable Name to save the result into

Kick: Get Emotes

Retrieves an array of all global or channel-specific emotes.

Box NameDescription
Channel NameLeave empty for your own channel, or specify another channel name
TypeGlobal or channel-specific emotes
Save Variable AsVariable Name to save the result into

Example payload for a single emote object:

{
  "subscribers_only": 0,
  "channel_id": 1452836,
  "id": 171291,
  "name": "Snorlax Scared."
}

Kick: Get Leaderboards

Retrieves an array of sub-gift leaderboards.

Box NameDescription
Channel NameLeave empty for your own channel, or specify another channel name
Save Variable AsVariable Name to save the result into

Example payload for a leaderboard entry:

{
  "user_id": 2378790,
  "username": "ChrisLenga",
  "quantity": 888
}

Kick: Send Chat Message

Sends a chat message to your broadcaster's channel via your Kick alternate account (currently limited to that).

Box NameDescription
MessageThe message to send

Kick: Clear Chat

Clears your chat.


Kick: Create Poll

Creates a new poll.

Box NameDescription
TitleTitle of the poll
DurationDuration of the poll in seconds
Choice 1 - 5Poll choices, minimum of 2 choices required

Kick: Delete Poll

Deletes a currently active poll.


Kick: Ban/Unban User

Bans, unbans, or times out a user.

Box NameDescription
TypeBan, unban, or timeout the user
UsernameUsername to ban, unban, or timeout
ReasonReason for the ban or timeout
MinutesTimeout duration in minutes (leave empty for ban/unban)

Kick: Mod/Unmod User

Adds or removes a user from chat moderators.

Box NameDescription
TypeMod or unmod the user
UsernameUsername of the user to mod or unmod

Kick Event Triggers

Followers Updated

Extension Trigger: Kick Follower

Triggers when a new follower is added.

Pull ValueDescription
usernameUsername of the viewer who followed
user_idUser ID of the viewer
countTotal number of followers
created_atTimestamp of the follow event

Subscriber

Extension Trigger: Kick Subscriber

Triggers when a new (non-gifted) subscriber is added.

Pull ValueDescription
user_idUser ID of the subscriber
usernameUsername of the subscriber

Gifted Subscriber

Extension Trigger: Kick Gifted Subscriber

Triggers when a viewer gifts a subscription.

Pull ValueDescription
usernamesArray of usernames that received a subscription
gifter_usernameUsername of the viewer who gifted the subscriptions

Stream Hosted

Extension Trigger: Kick Stream Hosted

Triggers when your stream is hosted.

Pull ValueDescription
usernameUsername of the host
amountNumber of viewers hosted
optional_messageOptional message from the host

Chat Message

Extension Trigger: Kick Chat Message *

Triggers for every new chat message. You can replace the wildcard (*) to trigger specific messages.

Wildcard Usage

Do not know what wild cards * are? See wildcards in SAMMI guide.

Pull ValueDescription
idID of the message
messageThe message itself, in plain text, i.e. "hello :sunglasses:"
message_strippedThe message itself stripped off of all the emojis
message_rawThe original message containing all the emojis
replied_to_usernameusername of the user who sent the original message if it's a reply
replied_to_messageoriginal message this message replied to
replied_to_idoriginal messages id his message replid to
created_atTimestamp of the message created
user_idUser ID of the viewer who sent the message
usernameUsername of the viewer who sent the message
colorUser chat color
badge_listFollower badges of the viewer who sent the message
is_moderatorWhether the viewer is a moderator
is_subscriberWhether the viewer is a subscriber
is_founderWhether the viewer is a founder
is_broadcasterWhether the viewer is a broadcaster

For listening to messages from specific roles:

  • Kick Chat Broadcaster Message * triggers for broadcaster messages.
  • Kick Chat Mod Message * triggers for moderator messages.
  • Kick Chat Subscriber Message * triggers for subscriber messages.
  • Kick Chat Founder Message * triggers for founder messages.

Chat Updated

Extension Trigger: Kick Chat Updated

Triggers when a chatroom is updated, such as enabling slow mode or subscriber mode.

Pull ValueDescription
slow_modeWhether slow mode is enabled, 1 = enabled, 0 = disabled
message_intervalMessage interval for slow mode in seconds
subscribers_modeWhether subscribers mode is enabled, 1 = enabled, 0 = disabled
followers_modeWhether followers mode is enabled, 1 = enabled, 0 = disabled
min_durationMinimum duration for followers mode, currently always returns 0
emotes_modeWhether emotes mode is enabled, 1 = enabled, 0 = disabled

Message Deleted

Extension Trigger: Kick Chat Deleted Message

Triggers when a chat message is deleted.

Pull ValueDescription
idID of the deleted message

Poll Created

Extension Trigger: Kick Poll Created

Triggers when a new poll is created.

Pull ValueDescription
poll_nameTitle of the poll
durationDuration of the poll
choice_amountNumber of poll choices
vote_totalTotal number of votes (initially 0)
choice_1_info - choice_6_infoObject containing the choice details

Poll Updated

Extension Trigger: Kick Poll Updated

Triggers when an active poll is updated, such as when a vote is cast.

Pull ValueDescription
poll_nameTitle of the poll
durationPoll duration remaining
vote_totalTotal number of votes
choice_1_info - choice_6_infoObject with choice information, including vote counts

Poll Deleted

Extension Trigger: Kick Poll Deleted

Triggers when a poll is deleted. (No data provided.)


User Banned

Extension Trigger: Kick User Banned

Triggers when a user is banned or timed out in your stream.

Pull ValueDescription
user_idID of the banned user
usernameUsername of the banned user
banned_by_idID of the user who issued the ban
banned_by_usernameUsername of the user who issued the ban

User Unbanned

Extension Trigger: Kick User Unbanned

Triggers when a user is unbanned.

Pull ValueDescription
user_idID of the unbanned user
usernameUsername of the unbanned user

Get Help

Please see Troubleshooting for common extensions issues.

Previous
Input Validator