Overview
Build tools that live inside Xive streams: chat bots, moderation helpers and alert overlays. Your app talks to Xive over a REST API and hears what happens on a channel through EventSub, a WebSocket that uses Twitch EventSub's message format and event names.
What you can build
- Chat bots that post in a creator's chat as themselves. A bot's messages show your app's name and icon with a BOT badge.
- Moderation bots that delete messages, time out, ban and unban viewers in a channel's chat.
- Alert and overlay tools that react to follows, gifts, subscriptions, gifted subs, raids, Sparks, channel-point redemptions and more, plus the stream going live, going offline or changing its title.
- Stream tools that set the title and category, or start a raid. See Stream & raids.
- Channel-point helpers that work the reward queue (song requests, challenges and the like) and drop chests. See Channel points.
- Command managers that create and keep a channel's
!commandsup to date. See Chat commands.
An app only works on a channel after the creator adds it there and chooses what it may do. A creator can remove it at any time.
Streams and Hubs are separate
These docs cover apps for creators' live channels on Xive. Bots for Xive Hubs are a separate product with their own apps, secrets and rules — see the Hub developer docs. A stream app's secret starts with xive_sa_; a hub bot's starts with xive_as_, and neither works on the other.
Quick start
- Create an app at thexive.com/developers/console.
- Copy its secret. It starts with
xive_sa_and is shown only once. Keep it on your server. See Authentication. - Share your "Add to channel" link with creators. It names the scopes your app needs, and the creator approves them. See Adding your app to a channel.
- Call the API or connect to EventSub. Post in chat with the chat API, and hear events through the gateway.
Send your first message
Once a creator has added your app with the chat:write scope, find their channel id with GET /api/apps/@me/channels and post:
curl -X POST https://api.thexive.com/api/apps/channels/CHANNEL_ID/chat \
-H "Authorization: Bearer $XIVE_APP_SECRET" \
-H "Content-Type: application/json" \
-d '{"content": "Hello chat! 👋"}'
The message appears in the creator's chat under your app's name with a BOT badge.