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 !commands up 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

  1. Create an app at thexive.com/developers/console.
  2. Copy its secret. It starts with xive_sa_ and is shown only once. Keep it on your server. See Authentication.
  3. 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.
  4. 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.