Minimal, type-safe JavaScript SDK for building Kick.com bots. Designed for Bun. Works anywhere.
@manaobot/kick is a lightweight TypeScript SDK for building Kick.com bots, tools, and automation.
This library focuses on OAuth, Webhooks, and REST APIs, everything required to build production-grade Kick bots.
bun add @manaobot/kickimport { KickClient } from "@manaobot/kick";
const kick = new KickClient({
clientId: process.env.KICK_CLIENT_ID!,
clientSecret: process.env.KICK_CLIENT_SECRET!,
redirectUri: "http://localhost:3000/callback",
scopes: ["chat:write"],
});
if (!process.env.KICK_REFRESH_TOKEN) {
console.log(kick.getAuthURL());
kick.auth.createCallbackServer({ port: 3000 });
await kick.auth.waitForAuthorization();
}
await kick.chat.send({
content: "Hello from Kick SDK!"
});- OAuth2 Authorization Code Flow
- Automatic token refresh
- PKCE support
- Built-in callback server
kick.webhooks.on("chat.message.sent", (event) => {
console.log(event.content);
});- Signature verification
- ngrok integration
- Event subscription helpers
await kick.chat.send({ content: "Hello chat!" });Available via:
kick.api.*Currently supported:
- Categories API
- Users API
- Channels API
- Channel Rewards API
- Moderation API
- Livestreams API
- KICKs Leaderboard API
The repository includes numbered examples:
| Example | Description |
|---|---|
01-authorize-bot |
OAuth authorization |
02-webhook |
Webhook handling |
03-ngrok |
Public webhook tunneling |
04-categories-api |
Categories API |
05-users-api |
Users API |
06-channels-api |
Channels API |
07-channel-rewards-api |
Channel rewards |
08-basic-chat-bot |
Full bot template |
Run examples with:
bun example/08-basic-chat-botPull requests are welcome.
If you want to help:
- improve typings
- add new API modules
- write examples
Join the Discord server:
GPL-3.0 License See LICENSE file for details.
This SDK powers the ManaoBot project: