SAMMI Extensions
Kick Streaming
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.
Install the extension. You can follow the Extension Install Guide.
Connect SAMMI to Bridge. Bridge must always be running and connected for the Kick extension to function.
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 /.
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.
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 Name | Description |
---|---|
Channel Name | Channel name to get the information of |
Type | Type 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 As | Variable Name to save the result into |
Kick: Get User Info
Retrieves user information in relation to your channel.
Box Name | Description |
---|---|
Channel Name | Leave empty for your own channel, or specify another channel name |
User Name | User information to check |
Type | Type 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 As | Variable Name to save the result into |
Kick: Get Emotes
Retrieves an array of all global or channel-specific emotes.
Box Name | Description |
---|---|
Channel Name | Leave empty for your own channel, or specify another channel name |
Type | Global or channel-specific emotes |
Save Variable As | Variable 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 Name | Description |
---|---|
Channel Name | Leave empty for your own channel, or specify another channel name |
Save Variable As | Variable 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 Name | Description |
---|---|
Message | The message to send |
Kick: Clear Chat
Clears your chat.
Kick: Create Poll
Creates a new poll.
Box Name | Description |
---|---|
Title | Title of the poll |
Duration | Duration of the poll in seconds |
Choice 1 - 5 | Poll 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 Name | Description |
---|---|
Type | Ban, unban, or timeout the user |
Username | Username to ban, unban, or timeout |
Reason | Reason for the ban or timeout |
Minutes | Timeout duration in minutes (leave empty for ban/unban) |
Kick: Mod/Unmod User
Adds or removes a user from chat moderators.
Box Name | Description |
---|---|
Type | Mod or unmod the user |
Username | Username of the user to mod or unmod |
Kick Event Triggers
Followers Updated
Extension Trigger: Kick Follower
Triggers when a new follower is added.
Pull Value | Description |
---|---|
username | Username of the viewer who followed |
user_id | User ID of the viewer |
count | Total number of followers |
created_at | Timestamp of the follow event |
Subscriber
Extension Trigger: Kick Subscriber
Triggers when a new (non-gifted) subscriber is added.
Pull Value | Description |
---|---|
user_id | User ID of the subscriber |
username | Username of the subscriber |
Gifted Subscriber
Extension Trigger: Kick Gifted Subscriber
Triggers when a viewer gifts a subscription.
Pull Value | Description |
---|---|
usernames | Array of usernames that received a subscription |
gifter_username | Username of the viewer who gifted the subscriptions |
Stream Hosted
Extension Trigger: Kick Stream Hosted
Triggers when your stream is hosted.
Pull Value | Description |
---|---|
username | Username of the host |
amount | Number of viewers hosted |
optional_message | Optional 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 Value | Description |
---|---|
id | ID of the message |
message | The message itself, in plain text, i.e. "hello :sunglasses:" |
message_stripped | The message itself stripped off of all the emojis |
message_raw | The original message containing all the emojis |
replied_to_username | username of the user who sent the original message if it's a reply |
replied_to_message | original message this message replied to |
replied_to_id | original messages id his message replid to |
created_at | Timestamp of the message created |
user_id | User ID of the viewer who sent the message |
username | Username of the viewer who sent the message |
color | User chat color |
badge_list | Follower badges of the viewer who sent the message |
is_moderator | Whether the viewer is a moderator |
is_subscriber | Whether the viewer is a subscriber |
is_founder | Whether the viewer is a founder |
is_broadcaster | Whether 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 Value | Description |
---|---|
slow_mode | Whether slow mode is enabled, 1 = enabled, 0 = disabled |
message_interval | Message interval for slow mode in seconds |
subscribers_mode | Whether subscribers mode is enabled, 1 = enabled, 0 = disabled |
followers_mode | Whether followers mode is enabled, 1 = enabled, 0 = disabled |
min_duration | Minimum duration for followers mode, currently always returns 0 |
emotes_mode | Whether emotes mode is enabled, 1 = enabled, 0 = disabled |
Message Deleted
Extension Trigger: Kick Chat Deleted Message
Triggers when a chat message is deleted.
Pull Value | Description |
---|---|
id | ID of the deleted message |
Poll Created
Extension Trigger: Kick Poll Created
Triggers when a new poll is created.
Pull Value | Description |
---|---|
poll_name | Title of the poll |
duration | Duration of the poll |
choice_amount | Number of poll choices |
vote_total | Total number of votes (initially 0) |
choice_1_info - choice_6_info | Object 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 Value | Description |
---|---|
poll_name | Title of the poll |
duration | Poll duration remaining |
vote_total | Total number of votes |
choice_1_info - choice_6_info | Object 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 Value | Description |
---|---|
user_id | ID of the banned user |
username | Username of the banned user |
banned_by_id | ID of the user who issued the ban |
banned_by_username | Username of the user who issued the ban |
User Unbanned
Extension Trigger: Kick User Unbanned
Triggers when a user is unbanned.
Pull Value | Description |
---|---|
user_id | ID of the unbanned user |
username | Username of the unbanned user |
Get Help
Please see Troubleshooting for common extensions issues.