https://github.com/xmacura/kickchatspy
KickChatSpy is a lightweight, dependency-free C# library for receiving real-time chat messages from Kick livestreams — ideal for building chatbots, moderation tools, and live interaction apps.
https://github.com/xmacura/kickchatspy
chat-bot chat-client chatbot csharp csharp-library dependency-free dotnet kick kick-api kick-bot kick-chat livestream messaging nuget realtime-chat streaming-tools websocket
Last synced: 4 months ago
JSON representation
KickChatSpy is a lightweight, dependency-free C# library for receiving real-time chat messages from Kick livestreams — ideal for building chatbots, moderation tools, and live interaction apps.
- Host: GitHub
- URL: https://github.com/xmacura/kickchatspy
- Owner: xmacura
- License: mit
- Created: 2025-08-14T17:45:48.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-18T20:28:42.000Z (10 months ago)
- Last Synced: 2025-09-22T15:57:37.221Z (8 months ago)
- Topics: chat-bot, chat-client, chatbot, csharp, csharp-library, dependency-free, dotnet, kick, kick-api, kick-bot, kick-chat, livestream, messaging, nuget, realtime-chat, streaming-tools, websocket
- Language: C#
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KickChatSpy
**KickChatSpy** is a lightweight C# library for listening to live chat messages from [Kick.com](https://kick.com) using a WebSocket connection.
## Installation
You can install the package via NuGet:
```bash
dotnet add package KickChatSpy
```
## Example
Subscribe by channel name:
```csharp
using KickChatSpy;
var kickChat = new KickChatClient();
var channelname = "chrimsie";
await kickChat.ConnectToChatroomAsync(channelname);
kickChat.OnMessageReceived += msg =>
{
if (IsModerator(msg.Sender))
{
Console.WriteLine($"[{msg.CreatedAt:T}][Mod] {msg.Sender.Username}: {msg.Content}");
}
else
{
Console.WriteLine($"[{msg.CreatedAt:T}] {msg.Sender.Username}: {msg.Content}");
}
};
bool IsModerator(Sender sender)
{
if (sender?.Identity?.Badges == null)
return false;
return sender.Identity.Badges
.Any(b => string.Equals(b.Type, "moderator", StringComparison.OrdinalIgnoreCase));
}
```
Or subscribe directly by chatroom ID:
```csharp
var chatroomId = 692373;
await kickChat.ConnectToChatroomAsync(chatroomId);
```
## License
[MIT License](LICENSE)