Kappopher
A comprehensive Go wrapper for the Twitch Helix API with full endpoint coverage, multiple authentication flows, and real-time event support.
Quick Links
Getting Started
Get up and running with Kappopher in minutes.
API Reference
Complete documentation for all Twitch Helix API endpoints.
Cookbook
Practical code examples and recipes for common use cases.
Help
- FAQ - Frequently asked questions
- Troubleshooting - Common issues and solutions
- Migration Guide - Migrating from other libraries or PubSub
Features
- Full Helix API Coverage - All endpoints implemented with typed responses
- Multiple Auth Flows - Client Credentials, Authorization Code, Device Code, Implicit
- EventSub Support - WebSocket and Webhook handlers for real-time events
- IRC Client - Built-in chat client for bot development
- Batch Operations - Concurrent requests with rate limiting
- Caching - Built-in response caching with configurable TTL
Installation
go get github.com/Its-donkey/kappopher
Basic Example
package main
import (
"context"
"fmt"
"log"
"github.com/Its-donkey/kappopher/helix"
)
func main() {
ctx := context.Background()
// Create auth client
authClient := helix.NewAuthClient(helix.AuthConfig{
ClientID: "your-client-id",
ClientSecret: "your-client-secret",
})
// Create Helix client
client := helix.NewClient("your-client-id", authClient)
// Get user info
users, err := client.GetUsers(ctx, &helix.GetUsersParams{
Logins: []string{"twitchdev"},
})
if err != nil {
log.Fatal(err)
}
for _, user := range users.Data {
fmt.Printf("User: %s (ID: %s)\n", user.DisplayName, user.ID)
}
}