Technical Details

Welcome to the technical details page for KickBot. On this page, we will delve into the software and infrastructure aspects of KickBot, discuss its limitations, and explain the value it offers. We will also cover the choice of development language and the rationale behind not making the project open source yet.

Reverse Engineering the Kick API

As there is no public Kick API available, developers aiming to create bots for the platform must undertake the process of reverse engineering the website. This absence of an official API contributes to the limited number of bot solutions currently available. The existing bots often prove to be unreliable or detrimental to the community, and companies are hesitant to adopt non-public APIs due to perceived liability concerns.

I have successfully reverse-engineered the Kick API and constructed a comprehensive SDK, complete with over 20+ events and 50+ API calls. This SDK now serves as the foundation for the development of KickBot.

Limitations

Kick has excelled in scaling their platform to accommodate a substantial volume of data streams. Although I initially considered developing my own streaming platform, I decided against it due to the considerable costs associated with managing a vast number of data streams reliably. Despite Kick's remarkable infrastructure, there are occasional issues such as stream buffering and difficulty in sending messages. Bots are particularly affected by these problems, resulting in missed events.

Fortunately, a potential solution was identified by connecting multiple bots to listen for events, thereby minimizing the likelihood of missing events. To test this hypothesis, a coordination server was established, and multiple clients were deployed to various locations worldwide, including Australia, Canada, the United States, Luxembourg, France, New York, Las Vegas, Miami, New York, and Pakistan. The tests revealed a near perfect event stream missing only a small amount when Kick seemingly struggled to keep up. While further testing would be desirable, the current focus is on developing the bot.

Language Selection and Open Source Status

KickBot is developed using C#, a performant and widely-adopted industry-standard language. The decision not to make KickBot open source stems from two primary reasons. Firstly, I aim to receive recognition for the work and effort invested in the project. While not charging for the bot, I hope to support small communities and establish my reputation in the field. Furthermore, there is the potential to offer premium features in the future, compensating for some of the time investment.

The second reason is the concern that making the bot open source would lead to an influx of harmful bots, as it would expose the anti-botting measures employed. This would prompt increased security measures from Kick, requiring additional time spent reverse-engineering their updated system. However, rest assured that a free SDK will be released at some point in the future.

Server Locations

The following map displays the server locations for the KickBot project. These servers are strategically placed across the globe to ensure optimal performance and reliability for all my projects.