An open API service indexing awesome lists of open source software.

https://github.com/killerboss2019/kick-streaming-touchportal

A bridge between Kick and TouchPortal
https://github.com/killerboss2019/kick-streaming-touchportal

kick kickstreaming plugin touchportal touchportal-plugin touchportalplugin

Last synced: 6 months ago
JSON representation

A bridge between Kick and TouchPortal

Awesome Lists containing this project

README

          

![Banner](banners/Kick-Banner.png)

# Kick-Streaming
![Issues](https://img.shields.io/github/issues/KillerBOSS2019/Kick-Streaming-TouchPortal?style=for-the-badge)
![Stars](https://img.shields.io/github/stars/KillerBOSS2019/Kick-Streaming-TouchPortal?style=for-the-badge)
![Downloads](https://img.shields.io/github/downloads/KillerBOSS2019/Kick-Streaming-TouchPortal/total?style=for-the-badge)
- [Kick-Streaming](#Kick-Streaming)
- [Description](#description)
- [Settings Overview](#Settings-Overview)
- [Features](#Features)
- [Actions](#actions)
- [Kick - Chat](#com.github.killerboss2019.kicktp.chatactions)
- [States](#states)
- [Kick - Profile](#com.github.killerboss2019.kicktp.mainstates)
- [Kick - Chat](#com.github.killerboss2019.kicktp.chatstates)
- [Kick - Poll](#com.github.killerboss2019.kicktp.pollstates)
- [Kick - Socials](#com.github.killerboss2019.kicktp.socialsstates)
- [Kick - Stream Info](#com.github.killerboss2019.kicktp.streaminfostates)
- [Kick - Raid](#com.github.killerboss2019.kicktp.raidstates)
- [Events](#events)
- [Kick - Chat](#com.github.killerboss2019.kicktp.chatevents)
- [Acknowledgments](#acknowledgments)
- [Bugs and Support](#bugs-and-suggestion)
- [License](#license)

# Description
Kick integration for TouchPortal. It will allow you to control your stream and chat from TouchPortal. It will also allow you to display information about your stream and chat in TouchPortal.

# Initial Setup
1. Download and install the plugin from [here](https://github.com/KillerBOSS2019/Kick-Streaming-TouchPortal/releases)
2. Open TouchPortal and go to plugin settings. in the plugin settings, you will need to enter your Kick email and password. This is required for the plugin to work.
3. Once you have entered your email and password, you will need to click stop and start the plugin.
4. Once plugin is started again it'll either prompt you to enter 2FA code if you have one or it'll just log you in.

## Settings Overview
| Name | Read-only | Type | Default Value |
| --- | --- | --- | --- |
| Email | False | text | |

Email used to login to kick

| Name | Read-only | Type | Default Value |
| --- | --- | --- | --- |
| Password | False | text | |

Password used to login to kick

| Name | Read-only | Type | Default Value |
| --- | --- | --- | --- |
| chat buffer | False | text | 5 |

Number of states will be created to show chat history. eg 5 will show 5 latest messages

| Name | Read-only | Type | Default Value |
| --- | --- | --- | --- |
| logging | False | text | DEBUG |

Debugging level. eg DEBUG, INFO, WARNING, ERROR, CRITICAL

| Name | Read-only | Type | Default Value |
| --- | --- | --- | --- |
| Message Time format | False | text | %I:%M:%S %p |

Time format for chat message. help with formatting can be found here https://strftime.org/

# Features

## Actions
Category: Kick - Chat (Click to expand)
Action NameDescriptionFormatData

choices/default (in bold)
On
Hold
Send Chat MessageSend message to chatSend [1]

  1. Type: text  
    Default: Hello World!


No
Clear ChatClear chatClear Chat
No
Add or Remove ModeratorAdd or remove moderator[1][2] as moderator

  1. Type: choice  
    Default: Add Possible choices: ['Add', 'Remove']

  2. Type: text  
    <empty>


No
Follow or Unfollow UserFollow or unfollow user[1][2]

  1. Type: choice  
    Default: Follow Possible choices: ['Follow', 'Unfollow']

  2. Type: text  
    <empty>


No
Create PollCreate poll. requires at least 2 optionsCreate Poll: [9] duration: [2] result displayed for [1] with [8] [7] [6] [5] [4] [3]Click to expand

  1. Type: choice  
    Default: 15 seconds Possible choices: ['15 seconds', '30 seconds', '2 minutes', '3 minutes', '4 minutes', '5 minutes']

  2. Type: choice  
    Default: 30 Possible choices: ['30 seconds', '2 minutes', '3 minutes', '4 minutes', '5 minutes']

  3. Type: text  
    <empty>

  4. Type: text  
    <empty>

  5. Type: text  
    <empty>

  6. Type: text  
    <empty>

  7. Type: text  
    <empty>

  8. Type: text  
    <empty>

  9. Type: text  
    <empty>


No
Vote PollVote poll 1-6 depending on the number of options in the pollVote Poll: [1]

  1. Type: choice  
    Default: Option 1 Possible choices: ['Option 1', 'Option 2', 'Option 3', 'Option 4', 'Option 5', 'Option 6']


No
End PollDelete / Cancel current active pollEnd Poll
No
Temporary Ban UserTemporary ban specific user with reason and duration in minutesTemporary Ban: [3] for [2]minutes with reason: [1]

  1. Type: text  
    <empty>

  2. Type: text  
    Default: 1

  3. Type: text  
    <empty>


No
BanPermanently ban specific userBan: [2] with reason: [1]

  1. Type: text  
    <empty>

  2. Type: text  
    <empty>


No
UnbanUnban specific userUnban: [1]

  1. Type: text  
    <empty>


No


## States
Category: Kick - Profile (Click to expand)

| Id | Description | DefaultValue | parentGroup |
| --- | --- | --- | --- |
| .state.profile_image | Kick Profile Image | None | Kick profile |
| .state.profile_name | Kick Profile Name | None | Kick profile |
| .state.profile_follower_count | Kick Profile Follower Count | 0 | Kick profile |
| .state.profile_bio | Kick Profile Bio | None | Kick profile |
| .state.country | Kick Profile Country | None | Kick profile |
| .state.state | Kick Profile State | None | Kick profile |
| .state.city | Kick Profile City | None | Kick profile |

Category: Kick - Socials (Click to expand)

| Id | Description | DefaultValue | parentGroup |
| --- | --- | --- | --- |
| .state.instagram | Kick Profile Instagram | None | Kick - Socials |
| .state.twitter | Kick Profile Twitter | None | Kick - Socials |
| .state.youtube | Kick Profile Youtube | None | Kick - Socials |
| .state.discord | Kick Profile Discord | None | Kick - Socials |
| .state.tiktik | Kick Profile TikTok | None | Kick - Socials |
| .state.facebook | Kick Profile Facebook | None | Kick - Socials |

Category: Kick - Stream Info (Click to expand)

| Id | Description | DefaultValue | parentGroup |
| --- | --- | --- | --- |
| .state.streaming_status | Kick is Live | False | Kick stream info |
| .state.streaming_title | Kick Stream Title | None | Kick stream info |
| .state.streaming_viewers | Kick stream viewer count | 0 | Kick stream info |
| .state.streaming_duration | Kick Stream Duration | 0 | Kick stream info |
| .state.is_mature | Kick Stream is Mature | False | Kick stream info |
| .state.stream_lang | Kick Stream Language | None | Kick stream info |
| .state.stream_thumbnail | Kick Stream Thumbnail | None | Kick stream info |
| .state.stream_topic | Kick Stream Topic | None | Kick stream info |

Category: Kick - Chat (Click to expand)

| Id | Description | DefaultValue | parentGroup |
| --- | --- | --- | --- |
| .state.latest_follower | Kick Latest Follower | | Kick chat |
| .state.latest_unfollower | Kick Latest Unfollower | | Kick chat |
| .state.slow_mode_enabled | Kick is Slow mode enabled | False | Kick chat |
| .state.slow_mode_delay | Kick slow mode delay in seconds | 0 | Kick chat |
| .state.follower_mode_enabled | Kick is Followers-only chat enabled | False | Kick chat |
| .state.follower_mode_delay | Kick followers mode delay in minutes | 0 | Kick chat |
| .state.emote_only_mode_enabled | Kick is emote only mode enabled | False | Kick chat |
| .state.adv_antibot_enabled | Kick is Advanced bot protection enabled | False | Kick chat |
| .state.adv_antibot_remaintime | Kick Advanced bot protection remaining time | 0 | Kick chat |
| .state.sub_mode_enabled | Kick is Subscribers-only chat enabled | False | Kick chat |

Category: Kick - Poll (Click to expand)

| Id | Description | DefaultValue | parentGroup |
| --- | --- | --- | --- |
| .state.poll_question | Kick poll question | None | Kick poll |
| .state.option1_votes | Kick poll option 1 votes | 0 | Kick poll |
| .state.option1_label | Kick poll option 1 label | None | Kick poll |
| .state.option2_votes | Kick poll option 2 votes | 0 | Kick poll |
| .state.option2_label | Kick poll option 2 label | None | Kick poll |
| .state.option3_votes | Kick poll option 3 votes | 0 | Kick poll |
| .state.option3_label | Kick poll option 3 label | None | Kick poll |
| .state.option4_votes | Kick poll option 4 votes | 0 | Kick poll |
| .state.option4_label | Kick poll option 4 label | None | Kick poll |
| .state.option5_votes | Kick poll option 5 votes | 0 | Kick poll |
| .state.option5_label | Kick poll option 5 label | None | Kick poll |
| .state.option6_votes | Kick poll option 6 votes | 0 | Kick poll |
| .state.option6_label | Kick poll option 6 label | None | Kick poll |
| .state.is_poll_running | Kick is poll running | False | Kick poll |

Category: Kick - Raid (Click to expand)

| Id | Description | DefaultValue | parentGroup |
| --- | --- | --- | --- |
| .state.latest_raid_name | Kick latest raid name | None | Kick raid |
| .state.latest_raid_viewers | Kick latest raid viewers count | 0 | Kick raid |
| .state.latest_raid_optional_message | Kick latest raid optional message | None | Kick raid |


## Events

Category: Kick - Chat (Click to expand)

IdNameEvaluated State IdFormatTypeChoice(s)
.event.onSlowModeOn slow mode.state.slow_mode_enabledWhen slow mode is $valchoice


  • True

  • False

.event.onFollowerModeOn follower mode.state.follower_mode_enabledWhen follower mode is $valchoice

  • True

  • False

.event.onEmoteOnlyModeOn emote only mode.state.emote_only_mode_enabledWhen emote only mode is $valchoice

  • True

  • False

.event.onSubModeOn sub mode.state.sub_mode_enabledWhen sub mode is $valchoice

  • True

  • False

.event.onAdvAntibotOn advanced antibot.state.adv_antibot_enabledWhen advanced antibot is $valchoice

  • True

  • False


Category: Kick - Poll (Click to expand)

IdNameEvaluated State IdFormatTypeChoice(s)
.event.onPollRunningOn poll.state.is_poll_runningWhen poll is started $valchoice


  • True

  • False


Category: Kick - Stream Info (Click to expand)

IdNameEvaluated State IdFormatTypeChoice(s)
.event.onStreamStartOn stream start.state.streaming_statusWhen stream is started $valchoice


  • True

  • False



# Acknowledgments
Thank you [@Buttuns](https://kick.com/shmah) for helping me test every part of the plugin and feedback, Also thank [@Gitago](https://github.com/gitagogaming) for helping me creating the Banner and feature image. Lastly thank [TouchPortal](https://www.touch-portal.com/) for creating amazing software.

# Bugs and Suggestion
Open an issue on github or join offical [TouchPortal Discord](https://discord.gg/touchportal) for support.

# License
This plugin is licensed under the GPL 3.0 License - see the [LICENSE](LICENSE) file for more information.