Overview
This extension allows you to control and interact with Kick through SAMMI commands and triggers.
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 amount of votes
User and Channel Data Retrieval
- Get information about channels, such as the amount of followers
- Get information about your viewers, such as whether they’re a subscriber
Icon generated by OpenAI
Special thanks goes to:
My amazing Patrons.
Thank you so much!
If you would like to support me developing SAMMI itself and my extensions, you can join my Patreon, which will give you access to all my upcoming creations for completely free and priority help on any of my extensions.
DISCLAIMER: The extension is provided as is. The developer has no obligation to provide maintenance and support services or handle any bug reports.
Feel free to edit the extension for your own use. You may not distribute, sell or publish it without the author’s permission.
Setup
First Time Using SAMMI?
- Watch and review Step by Step tutorial (you can skip the part where you connect to Twitch).
- Learn how to connect SAMMI to OBS
- Learn what Bridge is and how to use it
- Learn how to create new buttons and add new commands
- Learn how to use triggers
Setup the extension
- Make sure you’re on the latest version of SAMMI and install the extension. You can follow the Extension Install Guide.
- Make sure SAMMI is connected to Bridge. Bridge must be running at all times and be connected to SAMMI for Kick extension to work.
-
Set up Kick login details. Navigate to your Bridge - Kick Streaming tab.
Kick modifies channel names containing underscores, such as "_" becomes "-". For example, 'christina_k' becomes 'christina-k'. You can verify your exact channel name by navigating to your Kick channel (https://kick.com/yourName).SAMMI Tab in Bridge Broadcaster Name
:- This is the channel name you utilize for streaming.
Bot Email
:- Create a new alternate Kick account.
- Use the email of this secondary account for some authenticated requests, like sending chat messages.
- This account must be made a moderator on your broadcaster channel.
Bot Password
:- This is the password for your alternate/secondary Kick account.
- Please use a throwaway password.
DO NOT USE YOUR BROADCASTING CHANNEL'S LOGIN DETAILS FOR THE BOT. SAMMI operates with an unofficial Kick API and uses a workaround for the login. It's crucial to use a disposable Kick account, in case it gets banned (though the chances are slim). - Press 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.
Successfull Login - You’re all set! You can now go back to SAMMI to the premade Kick deck and explore all the available Kick commands and triggers.
Getting Around Cloudflare using Proxy
If you’re unable to log into Kick, or SAMMI gives you a yellow alert ‘Cloudflare detected’, see this guide.
Kick Commands List
Kick Event Triggers List
Replaying Events
You can replay any previous event via 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 turn on logging for all events and commands related to Kick. These logs can be saved as a text file.
This is handy when you need to figure out what’s going wrong, or if you think a new event has been added. You can send these logs to me, the extension developer, to look over. This is important because there isn’t an official Kick API, so if you come across any new events, saving these logs helps me update the extension to handle them.
Kick Commands
Kick: Get Channel Info
Retrieves public information for the specified channel. All buttons with Kick commands must be set to persistent.
Box Name | Description |
---|---|
Channel Name | Channel name to get the information of |
Type | Type of information to retrieve: - Channel ID - Follower Count - Viewer Count - Is Mature - Stream Title - Stream Categories - Subscriber Badges - Chat Mode - Profile Picture - Banner Picture - Past Broadcasts |
Save Variable As | Variable Name to save the result into |
Kick: Get User Info
Retrieves user information in relation to your channel. All buttons with Kick commands must be set to persistent.
Box Name | Description |
---|---|
Channel Name | Leave empty for your own channel, else fill out with the channel name |
User Name | User information to check |
Type | Type of information to retrieve: - All - User ID - Is Subscriber - Is Moderator - Is Follower - Is Banned - Subscription Months - Profile Picture |
Save Variable As | Variable Name to save the result into |
Kick: Get Emotes
Retrieves an array of all global or channel emote objects. All buttons with Kick commands must be set to persistent.
Box Name | Description |
---|---|
Channel Name | Leave empty for your own channel, else fill out with the channel name |
Type | Whether to retrieve 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 leaderboard.
Box Name | Description |
---|---|
Channel Name | Leave empty for your own channel, else fill out with the channel name |
Save Variable As | Variable name to save the result into |
Example payload for a single gift object:
{
"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 only limited to that). Does not accept chat slash command.
Box Name | Description |
---|---|
Message | Message to send |
Kick: Clear Chat
Clears your chat.
(This command does not require any input fields)
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 is 2 |
Kick: Delete Poll
Deletes a currently active poll.
(This command does not require any input fields)
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 to ban/timeout user |
Minutes | For how long to timeout user (leave empty for ban/unban) |
Kick: Mod/Unmod User
Adds or removes the user from chat moderators.
Box Name | Description |
---|---|
Type | Mod or unmod the user |
Username | User to mod or unmod |
Kick Event Triggers
Followers Updated
Extension Trigger: Kick Follower
Triggers for every new follower.
Pull Value | Description |
---|---|
username | Viewer’s username who followed the channel |
user_id | Viewer’s user id who followed the channel |
count | How many followers the channel has total |
created_at | Timestamp of when the follow event happened |
Subscriber
Extension Trigger: Kick Subscriber
Triggers when you get a new (non gifted) subscriber.
Pull Value | Description |
---|---|
user_id | User ID of the user who just became a subscriber |
username | Username of the user who just became a subscriber |
Gifted Subscriber
Extension Trigger: Kick Gifted Subscriber
Triggers when a viewer gifts subscriber(s) to another viewer(s).
Pull Value | Description |
---|---|
usernames | An array of all usernames that got a subscription gifted |
gifter_username | Username of the viewer who gifted the subs |
Stream Hosted
Extension Trigger: Kick Stream Hosted
Triggers when your stream is hosted.
Pull Value | Description |
---|---|
username | Username of the user who hosted you |
amount | Amount of viewers you’re being hosted for |
optional_message | Optional message from the user who hosted you |
Chat Message
Extension Trigger: Kick Chat Message *
Triggers for every new message. You can replace the * wildcard to look for a specific message or use * to trigger for all messages.
Do not know what wild cards * are? See this wildcards in SAMMI guide.
Want to listen for messages only from specific roles? Use the following triggers instead:
Kick Chat Broadcaster Message *
= triggers for any messages from the broadcasterKick Chat Mod Message *
= triggers for any messages from modsKick Chat Subscriber Message *
= triggers for any messages from subscribersKick Chat Founder Message *
= triggers for any messages from founders
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 |
role | Role of the viewer who sent the message |
picture_url | Picture URL of the viewer who sent the message |
verified | Whether the viewer is verified |
badge_list | Follower badges of the viewer who sent the message |
is_subscriber | Whether the viewer is a subscriber |
is_founder | Whether the viewer is a founder |
months | Amount of months the viewer is a subscriber for |
amount_gifted | Amount of gifted subscribers by the viewer |
Chat Updated
Extension Trigger: Kick Chat Updated
Triggers when a chatroom is updated, for example slow mode or followers mode enabled.
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 |
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 for every new poll.
Pull Value | Description |
---|---|
poll_name | Title of the poll |
duration | Duration of the poll |
choice_amount | Amount of choices in the poll |
vote_total | Total number of all votes (will be 0) |
choice_1_info - choice_6_info | Object containing the choice information: { id: <choiceId>, label: <choiceName>, votes: <amount of votes for the choice - will be 0>} |
Poll Updated
Extension Trigger: Kick Poll Updated
Triggers every time currently active poll is updated (i.e. someone voted)
Pull Value | Description |
---|---|
poll_name | Title of the poll |
duration | Duration of the poll |
choice_amount | Amount of choices in the poll |
vote_total | Total number of all votes |
choice_1_info - choice_6_info | Object containing the choice information: { id: <choiceId>, label: <choiceName>, votes: <amount of votes for the choice>} |
Poll Deleted
Extension Trigger: Kick Poll Deleted
Triggers every time a currently active poll is deleted. (No pull data provided)
User Banned
Extension Trigger: Kick User Banned
Triggers when a user is timed out/banned in your stream. There’s no way to tell whether the user was just timed out or banned, as it’s not in the payload.
Pull Value | Description |
---|---|
user_id | User ID of the user who got timed out/banned |
username | Username of the user who got timed out/banned |
User Unbanned
Extension Trigger: Kick User Unbanned
Triggers when a user is unbanned in your stream.
Pull Value | Description |
---|---|
user_id | User ID of the user who got unbanned |
username | Username of the user who got unbanned |
Privacy Policy
This developer declares that your data is:
- Not being sold to third parties.
- Not being used or transferred for purposes that are unrelated to the extension's core functionality
- Not being used or transferred to determine creditworthiness or for lending purposes
Reviews
Coming soon!