PolyhydraGames.API.Kick
1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package PolyhydraGames.API.Kick --version 1.0.0
NuGet\Install-Package PolyhydraGames.API.Kick -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PolyhydraGames.API.Kick" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PolyhydraGames.API.Kick" Version="1.0.0" />
<PackageReference Include="PolyhydraGames.API.Kick" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PolyhydraGames.API.Kick --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PolyhydraGames.API.Kick, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PolyhydraGames.API.Kick@1.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PolyhydraGames.API.Kick&version=1.0.0
#tool nuget:?package=PolyhydraGames.API.Kick&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
PolyhydraGames.API.Kick
Kick integration library for PolyhydraGames and ChannelCheevos. Provides channel and livestream lookup, chat listener, and Post Office integration for the Kick streaming platform.
Tags
- dotnet
- api
- api-kick
- kick
- streaming
- chat
Features
- Channel Lookup - Resolve Kick channels by slug or ID
- Livestream Status - Check if a channel is live, get stream title/category
- Chat Listener - Connect to Kick chat with reconnect/backoff
- Chat Sender - Send outbound chat messages (when authenticated)
- Post Office Integration - Inbound source and outbound sink for shared messaging pipeline
- DI Registration - Clean
AddKickApiandAddKickStreamingextension methods
Installation
dotnet add package PolyhydraGames.API.Kick
Configuration
Add to your appsettings.json:
{
"Kick": {
"Enabled": true,
"BaseUrl": "https://kick.com",
"ApiBaseUrl": "https://api.kick.com",
"ClientId": "",
"ClientSecret": "",
"AccessToken": "",
"RefreshToken": "",
"ApplicationName": "PolyhydraGames",
"Chat": {
"Enabled": true,
"OwnerUserId": "your-polyhydra-user-id",
"ChannelSlug": "your-kick-channel",
"ChannelId": null,
"AutoDiscoverActiveStream": true,
"EnableOutboundChat": true,
"ReconnectDelay": "00:00:05",
"MaxReconnectDelay": "00:01:00"
}
}
}
Configuration Options
| Key | Type | Description |
|---|---|---|
Enabled |
bool |
Enable/disable entire Kick integration |
BaseUrl |
string |
Kick website base URL |
ApiBaseUrl |
string |
Kick API base URL |
ClientId |
string |
OAuth client ID |
ClientSecret |
string |
OAuth client secret |
AccessToken |
string |
OAuth access token (required for outbound chat) |
RefreshToken |
string |
OAuth refresh token |
ApplicationName |
string |
User-Agent application name |
Chat:Enabled |
bool |
Enable/disable chat listener |
Chat:OwnerUserId |
string |
Platform owner user ID for message routing |
Chat:ChannelSlug |
string |
Kick channel slug to monitor |
Chat:ChannelId |
string |
Alternative channel identifier |
Chat:AutoDiscoverActiveStream |
bool |
Auto-discover active stream for chat |
Chat:EnableOutboundChat |
bool |
Enable outbound chat messaging |
Chat:ReconnectDelay |
timespan |
Initial reconnect delay |
Chat:MaxReconnectDelay |
timespan |
Maximum reconnect delay |
Usage
Basic API Setup
using PolyhydraGames.API.Kick.Setup;
// In Program.cs or Startup.cs
services.AddKickApi(Configuration);
With Chat and Post Office
using PolyhydraGames.API.Kick.Setup;
// Registers API services + chat listener, inbound source, outbound sink
services.AddKickStreaming(Configuration);
Resolve Channel and Livestream
public class MyService
{
private readonly IKickChannelService _channelService;
private readonly IKickLivestreamService _livestreamService;
public MyService(IKickChannelService channelService, IKickLivestreamService livestreamService)
{
_channelService = channelService;
_livestreamService = livestreamService;
}
public async Task CheckChannelAsync(string slug)
{
var channel = await _channelService.GetChannelBySlugAsync(slug);
if (channel != null)
{
Console.WriteLine($"Channel: {channel.DisplayName} (live: {channel.IsLive})");
}
var isLive = await _livestreamService.IsLiveAsync(slug);
Console.WriteLine($"Is live: {isLive}");
}
}
Configuration
See docs/configuration.md for detailed configuration documentation.
Related Projects
- ChannelCheevos - Main streaming achievement platform
- PolyhydraGames.OAuth.Core - OAuth and command queue infrastructure
- PolyhydraGames.Streaming.Interfaces - Platform abstraction interfaces
- PolyhydraGames.Twitch - Twitch integration library
- PolyhydraGames.Discord - Discord integration library
Repository
- GitHub: https://github.com/lancer1977/API-Kick
- Issues: https://github.com/lancer1977/API-Kick/issues
License
MIT License - see LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Http (>= 10.0.0)
- PolyhydraGames.Core.Global (>= 1.0.3.11)
- PolyhydraGames.Extensions (>= 2.1.1.78)
- PolyhydraGames.OAuth.Core (>= 2.0.0.285)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.