KickNet 0.1.2
See the version list below for details.
dotnet add package KickNet --version 0.1.2
NuGet\Install-Package KickNet -Version 0.1.2
<PackageReference Include="KickNet" Version="0.1.2" />
<PackageVersion Include="KickNet" Version="0.1.2" />
<PackageReference Include="KickNet" />
paket add KickNet --version 0.1.2
#r "nuget: KickNet, 0.1.2"
#:package KickNet@0.1.2
#addin nuget:?package=KickNet&version=0.1.2
#tool nuget:?package=KickNet&version=0.1.2
Kick .NET SDK
Typed .NET SDK for the KICK public API, with first-class app-auth sessions, user-auth sessions, request builders, and webhook verification.
Default auth model
The default SDK path is now:
- configure
client_idandclient_secret - create an app session
- use
session.Clientfor normal API calls
using Kick;
var session = KickSdk.CreateAppSession(new KickAppCredentials
{
ClientId = "<client-id>",
ClientSecret = "<client-secret>",
});
var kick = session.Client;
var channels = await kick.Channels.GetAsync(new GetChannelsRequest
{
Slugs = ["xqc"],
});
The session acquires an app access token in memory and reuses it automatically.
User auth
User auth remains available, but it is a separate path:
var auth = KickSdk.CreateUserAuthClient(new KickUserAuthOptions
{
ClientId = "<client-id>",
ClientSecret = "<client-secret>",
RedirectUri = "https://localhost/callback",
DefaultScopes = [KickScopes.UserRead, KickScopes.ChannelRead],
});
var login = auth.CreateLoginRequest();
// redirect browser to login.AuthorizationUri
// then exchange the returned code:
// var session = await auth.ExchangeAuthorizationCodeAsync(code, login.CodeVerifier);
Experimental VODs and clips
VOD/video and clip helpers are available behind an explicit opt-in:
using Kick;
var kick = new KickClient(options: new KickClientOptions
{
EnableExperimentalWebsiteApi = true,
});
var videos = await kick.Experimental.Videos.GetByChannelAsync("xqc");
var latestVideos = await kick.Experimental.Videos.GetLatestByChannelAsync("xqc");
var clips = await kick.Experimental.Clips.GetByChannelAsync(new GetChannelWebsiteClipsRequest
{
Channel = "xqc",
Limit = 25,
});
These clients use undocumented Kick website endpoints, not the official api.kick.com/public/... API. They may be blocked, changed, rate-limited, or removed by Kick without notice. Prefer official public API clients when Kick publishes stable VOD or clip endpoints.
Projects
src/KickNet: the SDK packagesamples/KickNet.ConsoleExamples: general command-based SDK referencesamples/KickNet.BotLoginWebhookSample: minimal API sample for user login and webhook handlingsamples/KickNet.RewardOpsSample: reward and redemption workflowssamples/KickNet.ChatOpsSample: chat and moderation workflowssamples/KickNet.ChannelDashboardSample: channel inspection and metadata updatessamples/KickNet.ExperimentalMediaSample: experimental VOD/video and clip listingtests/KickNet.Tests: test suitedocs: usage guides
More samples
dotnet run --project samples/KickNet.ConsoleExamples -- help
dotnet run --project samples/KickNet.ExperimentalMediaSample -- xqc
dotnet run --project samples/KickNet.RewardOpsSample -- help
dotnet run --project samples/KickNet.ChatOpsSample -- help
dotnet run --project samples/KickNet.ChannelDashboardSample
dotnet run --project samples/KickNet.BotLoginWebhookSample
Documentation
- Getting Started
- Sample Projects
- Console Examples
- Bot Login + Webhook Sample
- OAuth Guide
- Webhook Guide
Legacy token providers
IKickAccessTokenProvider, StaticAccessTokenProvider, and DelegateAccessTokenProvider remain available for advanced/manual scenarios. They are no longer the recommended default startup path.
Build and test
dotnet build KickNetSdk.slnx
dotnet test KickNetSdk.slnx
| 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. |
-
net10.0
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.