Docs
Kick relay
Kick only delivers chat to apps through webhooks, which need a server to receive them. A tiny relay you host receives them and passes chat on to Chatge.
Kick ──webhook──▶ relay ──WebSocket──▶ Chatge 1. Create a Kick app
Follow Kick’s app setup guide and note the
client id and client secret. Set the app’s webhook URL to
https://<your-relay-host>/kick/webhook.
2. Run the relay
The relay isn’t publicly available yet. These steps apply once it is.
cd relay
npm install
PORT=8080 \
KICK_CLIENT_ID=... \
KICK_CLIENT_SECRET=... \
KICK_PUBLIC_URL=https://<your-relay-host> \
KICK_SUBSCRIBE_SLUGS=channel1,channel2 \
npm start | Variable | Purpose |
|---|---|
PORT | HTTP port (default 8080) |
KICK_CLIENT_ID, KICK_CLIENT_SECRET | Your Kick app’s credentials, used to subscribe to chat events on start |
KICK_PUBLIC_URL | The relay’s public https address (the webhook target) |
KICK_SUBSCRIBE_SLUGS | Channels to subscribe to, separated by commas |
KICK_VERIFY_SIGNATURE | Set to 0 to skip signature checks (development only) |
Kick requires an https webhook, so put the relay behind TLS: Caddy, nginx or a Cloudflare Tunnel all work.
GET /health lists the subscribed channels.
3. Point Chatge at it
In Chatge, open Settings → Connections → Kick and set the relay URL to
wss://<your-relay-host>/ws.
Then add a channel by pasting kick.com/<slug> into the sidebar.
Good to know
- Subscriptions are per channel. To add channels, extend
KICK_SUBSCRIBE_SLUGSand restart the relay. - Kick drops a subscription if the webhook keeps failing, so keep the relay running.
- Sending messages and moderation on Kick aren’t supported yet.