KickLib 0.1.3
See the version list below for details.
dotnet add package KickLib --version 0.1.3
NuGet\Install-Package KickLib -Version 0.1.3
<PackageReference Include="KickLib" Version="0.1.3" />
paket add KickLib --version 0.1.3
#r "nuget: KickLib, 0.1.3"
// Install KickLib as a Cake Addin #addin nuget:?package=KickLib&version=0.1.3 // Install KickLib as a Cake Tool #tool nuget:?package=KickLib&version=0.1.3
<p align="center"> <img src="KickLibLogo.png" style="max-height: 300px;"> </p>
<p align="center"> <a href="https://www.microsoft.com/net"><img src="https://img.shields.io/badge/-.NET%207.0-blueviolet" style="max-height: 300px;"></a> <img src="https://img.shields.io/badge/Platform-.NET-lightgrey.svg" style="max-height: 300px;"> <a href="https://discord.gg/fPRXy57WrS"><img src="https://img.shields.io/badge/Discord-KickLib-green.svg" style="max-height: 300px;"></a> <a href="https://github.com/Bukk94/KickLib/blob/master/LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" style="max-height: 300px;"></a> <a href="https://www.nuget.org/packages/KickLib"><img src="https://img.shields.io/nuget/v/KickLib.svg?style=flat-square" style="max-height: 300px;"></a> </p>
<p align="center"> <a href='https://ko-fi.com/fusedchat' target='_blank'> <img height='30' style='border:0;height:38px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com' /> </a>
About
KickLib is a C# library that allows for interaction with unofficial / undocumented Kick API (https://kick.com) and WebSocket. KickLib eases implementation for various chatbots by providing simple to use methods.
KickLib Highlights ✨
- Real-time chat reading
- Stream state detection
- Authentication flow
- Message sending
- Endpoint calls
<details> <summary>Click here to see Complete Features List</summary>
Client
- Reading Chat Messages
- Reading Channel events
- Follows status updated
- Stream state detection
API
- Clips
- Get all Kick clips
- Get channel clips
- Get clip information
- Download clip
- Channels
- Get channel information
- Get latest subscriber
- Get chatroom information
- Emotes
- Get channel emotes
- Livestreams
- Is streamer live?
- Get livestream information
- Message
- Send message to chatroom
- Users
- Get user information </details>
Installing ⏫
First, install NuGet. Then, install KickLib from the package manager console:
PM> Install-Package KickLib
Or from the .NET CLI as:
dotnet add package KickLib
Examples 💡
Using API to get information
IKickApi kickApi = new KickApi();
var userName = "channelUsername";
// Get information about user
var user = await kickApi.Users.GetUserAsync(userName);
// Get information about channel
var channelInfo = await kickApi.Channels.GetChannelInfoAsync(userName);
// Gets detailed information about current livestream
var liveInfo = await kickApi.Livestream.GetLivestreamInfoAsync(userName);
// Get channel clips
var channelClips = await kickApi.Clips.GetChannelClipsAsync(userName);
// Authenticated calls
await kickApi.AuthenticateAsync("username", "password");
await kickApi.Messages.SendMessageAsync(123456, "My message");
Using Client to read chat messages
IKickClient client = new KickClient();
client.OnMessage += delegate(object sender, ChatMessageEventArgs e)
{
Console.WriteLine(e.Data.Content);
};
await client.ListenToChatRoomAsync(123456);
await client.ConnectAsync();
Custom downloader client
If you are not satisfied with provided client, you can implement your own download logic.
All you need to do is implement IApiCaller
interface and pass new instance to KickApi
.
public class MyOwnDownloader : IApiCaller
{
// Implementation
}
var myDownloader = new MyOwnDownloader();
IKickApi kickApi = new KickApi(myDownloader);
Disclaimer
Kick don't have any official API. All functionality in KickLib was researched and reversed-engineered from their website. This means that any API can change without announce.
KickLib is meant to be used for education purposes. Don't use it for heavy scraping or other harmful actions against Kick streaming platform. I don't take responsibility for any KickLib misuse and I strongly advice against such actions.
Once API is officially released, this library will be adjusted accordingly.
License
See MIT License.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- JsonSubTypes (>= 2.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 2.0.2)
- Newtonsoft.Json (>= 13.0.3)
- Polly (>= 7.2.4)
- PuppeteerExtraSharp (>= 2.0.0)
- PuppeteerSharp (>= 10.1.0)
- PusherClient (>= 2.2.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
0.1.12 | 114 | 10/6/2024 | |
0.1.11 | 124 | 7/19/2024 | |
0.1.10 | 100 | 7/4/2024 | |
0.1.9 | 138 | 7/1/2024 | |
0.1.8 | 144 | 6/9/2024 | |
0.1.7 | 774 | 11/14/2023 | |
0.1.6 | 135 | 11/9/2023 | |
0.1.5 | 135 | 11/8/2023 | |
0.1.4 | 185 | 9/25/2023 | |
0.1.3 | 135 | 9/21/2023 | |
0.1.2 | 409 | 7/21/2023 | |
0.1.1 | 234 | 7/13/2023 | |
0.1.0 | 155 | 7/13/2023 | |
0.0.6 | 158 | 7/13/2023 | |
0.0.5 | 160 | 7/12/2023 | |
0.0.4 | 182 | 7/12/2023 | |
0.0.3 | 177 | 7/12/2023 | |
0.0.2 | 159 | 7/12/2023 | |
0.0.1 | 161 | 7/11/2023 |
Improved XSRF handling