Skip to content

AI module

The AI module builds a private, per-chatter persona from what eligible viewers say in your chat, then uses those personas to answer persona commands — !roast @viewer and custom commands you define — with responses grounded in each viewer’s actual chat history and your channel’s lore.

Requires the Affiliate tier or higher. See Module access by tier.

Capability What it does
Personas A ~150–200-word AI-written profile per eligible chatter, refreshed as they keep chatting
Persona commands !roast @user plus custom commands, each with its own prompt and reply prefix style
Eligibility rules Choose who gets a persona: minimum sub tier (1–3) and whether moderators are included
Chat replies Edit the replies for every “can’t do that” case, the opt-out/opt-in confirmations, and rename the two privacy commands
Lore engine Feed the AI channel context — entries you write plus AI-drafted insights you approve
Bits backfill One-time seed of lifetime bits from your channel’s all-time top-100 Bits leaderboard
Monetisation tracking Lifetime and recent (30-day) bits and gifted subs recorded on each persona
Privacy controls Global viewer opt-out command, per-channel opt-in command, a viewer self-service page, broadcaster-side persona deletion
Daily token allowance Tier-based daily AI budget for persona building and lore work, reset at midnight UTC

The AI only speaks when commanded. There are no keyword, mention, or random-reply triggers — a response is generated only when someone runs an enabled command like !roast @username. Everything else the module does (persona building, lore drafting) happens silently in the background.

The module is off until you switch it on with Enable StreamerCatalyst AI on the Overview tab. While it’s off, chat is ignored and commands do nothing.

Switching it on first shows a notice of what the module collects (see Privacy and opt-out); you tick I understand, and I’ll tell my community what’s collected and how to opt out before Enable AI becomes available. Switching it off needs no confirmation. The same data-collection notice stays visible at the top of every AI tab for as long as the module exists.

StreamerCatalyst sets up and maintains the Twitch event subscriptions the module needs (chat messages, cheers, subscriptions, gifted subs and resub messages) automatically, based on whether the module is on — flipping the switch prompts an update straight away, and they’re also re-checked when you sign in, when your plan changes, and on a regular background sweep. There is nothing to set up by hand, and opening the dashboard isn’t required. The EventSub tile on the Overview tab shows how many are live for your channel.

For each eligible chatter, the module buffers their messages (up to 300) and, every persona update interval messages (default 100, set between 5 and 500 on the Config tab), asks AI to write or refresh a persona — a short profile of their tone, topics, running jokes, emote habits and role in the community, capped at 2,000 characters. The buffer is cleared after each successful refresh, so each update reads the messages since the last one and merges them into the existing profile. Emotes are marked as emotes, so they’re never mistaken for catchphrases.

Personas also record structured facts: Twitch role, sub tier, message count, first/last seen, and lifetime/recent bits and gifted subs. When a persona is refreshed, the module confirms the chatter’s subscription tier with Twitch (at most once a day per chatter).

Eligibility is configured on the Eligibility tab — it decides who gets a persona and who can run or be the target of commands:

  • Minimum Subscriber Tier — Tier 1 (any subscriber), Tier 2 (default), or Tier 3 only.
  • Include Moderators — on by default; moderators are eligible regardless of sub tier.

The broadcaster is always eligible. VIP status alone doesn’t make someone eligible. Chat from chatters who don’t qualify is ignored entirely — no persona, no message storage. Known chat bots (Nightbot, StreamElements, Streamlabs, Fossabot, Moobot and others) are filtered out automatically, even if they hold a mod badge. Cheers and gifted subs update the monetisation stats on an existing record but never create one.

The Personas tab lists everyone with a written persona; tick Include chatters without a synthesised persona to also see chatters the module is still collecting messages for. Use Load more to page through, and Refresh to reload. Each row shows the chatter, role, message count, last seen, and whether a persona has been written yet.

Click a row to open the chatter’s full persona text and stats (role, messages, lifetime bits, lifetime gifted subs, first/last seen, when the persona was last updated). From there you can:

  • Test commands — run any enabled command against this chatter and see the reply in the dashboard. Nothing is posted to chat. Needs a written persona, and is limited to 10 tests per minute per channel.
  • Delete persona — removes the record and stored messages (see Privacy and opt-out). You can also delete straight from the list.

Commands are run by chatters in your chat and always target a viewer: !roast @username (the @ is optional).

  • !roast — built in and enabled by default. On the Commands tab you can switch it off, rename it, and optionally replace its system prompt; View default prompt shows the built-in one, which roasts chat habits and quirks, never appearance, health, or identity.
  • Custom commands — add your own with + Add Command: a name (starts with !, then lowercase letters, numbers, hyphens or underscores, 30 characters max), a system prompt (required, up to 2,000 characters), and a prefix style for the reply: mention (default, @viewer — …), mimic ([viewer]: …), or none. Each custom command can be edited, switched on or off, or deleted. A name can’t clash with !roast, another custom command, or your opt-out/opt-in commands. How many custom commands you can have depends on your plan — see Tier comparison; the Commands tab itself adds up to 10.

How a command resolves:

  • The person running the command must be eligible in your channel; other chatters’ commands are ignored. Each invoker has a 60-second cooldown shared across all AI commands. It starts only when a command gets as far as producing a reply — a usage or “can’t do that” answer doesn’t start it — and commands sent while cooling down are silently ignored.
  • With no target, the bot replies with the usage (Usage: !roast @username).
  • The target must be known in your channel, be eligible, have a written persona, and not have opted out. Each failure has its own chat reply, which you can edit on the Messages tab (below).
  • Responses are capped at 500 characters and posted by your channel’s bot identity — your own account, the shared @StreamerCatalyst bot, or your custom bot, chosen in Chatters → Bot Setup. If the chosen bot can’t send, the reply falls back to your account.
  • If generation fails, the bot says so in chat (Something went wrong generating a response for @viewer. Try again!).
  • For chatters seen in the last 7 days, the module pre-writes a response per enabled command whenever their persona refreshes, so most replies are instant; a fresh one is prepared in the background after each use.

Chat replies and privacy commands (Messages tab)

Section titled “Chat replies and privacy commands (Messages tab)”

The Messages tab holds the two privacy commands and the five chat replies the module can send. In the replies, $(user) is replaced with the viewer’s @name; the older {user} form still works. A reply you clear goes back to its default rather than sending nothing.

Field Sent when Default
Opt-out Command The command viewers type to opt out (see Privacy and opt-out) !optoutai
Opt-in Command The command an opted-out viewer types to come back in your channel only !optinai
Insufficient Data Message The target has no persona written yet I don't know $(user) well enough yet — they need to chat more!
Ineligible Message The target isn’t known in your channel, has no persona record, or doesn’t meet your eligibility rules $(user) needs to be a T2/T3 subscriber or moderator to get a persona.
Opt-out Confirmation A viewer has just opted out Confirms they’re opted out in every channel using StreamerCatalyst AI and their profile was deleted
Opt-in Confirmation A viewer has just opted back in Confirms AI features are back on for them in this channel only
Command Opt-out Notice Someone runs a command on a viewer who opted out That user has opted out of AI features.

The privacy command names follow the same rules as custom command names. They can’t be the same as each other or as an existing command, and leaving one blank uses the default — the privacy commands can be renamed but never switched off.

Lore gives the AI persistent channel context — inside jokes, characters, stream rules — injected into both persona building and command responses. Turn it on under Config → Channel Lore Engine (off by default), then manage it on the Channel Lore tab. While the engine is off, no lore is used anywhere — including entries you’ve written.

  • Manual lore — Channel Identity — facts you write yourself, up to 20 entries of 2,000 characters each. Add, edit, or delete them at any time.
  • AI-generated insights — Pending Review — while the engine is on, the module collects eligible chat (skipping very short, emote-heavy, or all-caps messages) and, every 300 such messages, asks AI for medium- or high-confidence observations about inside jokes, memes, slang, and recurring events. Each becomes a draft; drafts that repeat existing lore or another draft are skipped. Approve a draft to make it active lore, or Reject it. Nothing the AI observes is used until you approve it.
  • Active community lore — approved insights, up to 10; approving one when the list is full drops the oldest. Flush all auto-lore clears the whole list (your manual entries are untouched).
  • A weekly background pass reviews the pending queue when it holds two or more drafts — removing stale or low-value ones and merging overlapping ones. A merged draft is labelled Consolidated from N observations.

Viewers who opt out, or whose persona you delete, have their contributions removed from pending drafts. Lore you’ve already approved is not changed.

The Bits Backfill tab seeds historical bits data from Twitch’s all-time top-100 Bits leaderboard for your channel — run it once after turning the module on.

  • It sets each leaderboard viewer’s lifetime bits to their leaderboard total. Viewers on the leaderboard who don’t have a record yet get one, holding just the bits figure; their persona is still written from chat once they qualify.
  • Viewers who have opted out of AI, whether on your channel’s opt-out list or everywhere, are skipped: no record is created for them and an existing one isn’t changed.
  • It runs once per channel. After a successful run the button reads Already completed.
  • Only the broadcaster can run it — Lead Mods and moderators can’t. If your Twitch connection has expired, the backfill stops and tells you to sign in again.
  • What the module stores — while the module is on it stores and processes chat messages (buffered per chatter and synthesised into a persona), bits cheers (amount and message), subscriptions (the tier), gifted subs, and resub messages. Personas are only built for eligible chatters — by default T2/T3 subscribers and moderators, configurable on the Eligibility tab. Telling your community that this is on, and how to opt out, is your responsibility as the broadcaster.
  • Viewer opt-out is global — a viewer types the opt-out command (default !optoutai) in chat. Their persona and buffered messages are deleted, their contributions are removed from pending lore drafts, and they’re excluded from AI features in every channel using StreamerCatalyst AI, now and in future — not only the one they typed it in. The chat command is heard only in channels that have the AI module switched on, and only from chatters who are eligible there; anyone can opt out on the viewer privacy page instead.
  • Opting back in is per channel — the opt-in command (default !optinai) re-includes the viewer in that channel only. They stay opted out everywhere else, and nothing already deleted is restored. Only the viewer themselves can opt in — the command acts on whoever typed it.
  • Viewer self-service — at ai.streamercatalyst.com/privacy/ai a viewer signs in with Twitch (identity only, no other permissions) and, without typing anything in chat, can see which channels hold AI data about them (message count, first/last seen, and the persona text), opt out everywhere and delete their data, opt in to or out of one channel, or delete one channel’s data. It’s the only place a global opt-out can be lifted.
  • The Opt-out List tab is a record, not a switch — it lists viewers who opted out in your channel and shows each one’s scope: Global or This channel. Removing a This channel entry clears your channel’s record of the gesture; it doesn’t consent on the viewer’s behalf. A Global entry can’t be removed by the broadcaster or a Lead Mod at all. On very long lists, entries past the first 200 show their scope as Unknown.
  • Broadcaster deletion — delete any chatter’s persona and stored messages from the Personas tab at any time; their contributions to pending lore drafts go too. Deleting a persona doesn’t opt the viewer out: if they keep chatting and are eligible, a new persona starts building.
  • Settings that don’t change behaviour yet — the Config tab also shows Message Sender, Chatter Consent Model and Data Region. None of them currently changes what the module does: replies are sent by the identity chosen in Chatters → Bot Setup; the opt-in consent model (where nobody gets a persona until they ask) is not implemented, so the model is always opt-out — the !optinai command is how an opted-out viewer comes back, not a channel-wide consent switch; and Data Region is a saved label only — it does not move where your channel’s data is stored.

Persona building, lore drafting and the weekly lore review consume your channel’s daily AI token allowance:

Tier Daily tokens
Affiliate 25,000
Partner 100,000
Partner+ 250,000

It is one allowance per channel, shared with the other AI features that run on it — Events AI reward messages, Modomation’s AutoMod suggestions, AI features in Widgets, and the AI persona bubble.

The allowance resets at midnight UTC. When it’s exhausted, persona updates and lore work quietly pause until the next day (messages keep buffering, up to 300 per chatter), but command responses keep working — they draw on the already-written personas and aren’t metered.

The AI persona bubble is an on-screen overlay that comments on your stream while you’re live, written from your prompt, your Channel Lore and — if you choose — recent chat and the personas behind it, with opted-out viewers removed. It needs this module on your plan and switched on, and it spends the same daily token allowance. Set it up in Widgets.

The switch the bubble needs is Enable StreamerCatalyst AI on this module’s Overview tab — the “AI module” link in the bubble’s status panel opens the Config tab, which doesn’t have it. Lore is included only while Channel Lore Engine is on, under Config.

  • Twitch events are acknowledged immediately and processed in the background — chat is never slowed down.
  • Repeated deliveries are ignored for 5 minutes: chat messages by their Twitch message id (so a duplicate can’t fire a command twice), other events by their delivery id.
  • Twitch event subscriptions follow the Overview toggle and are maintained automatically; nothing needs re-running by hand.
  • If your tier drops, custom commands beyond the new limit are disabled automatically (the earliest-created stay enabled).

AI Personas in the dashboard sidebar, tabs:

  • Overview — enable toggle, Personas / Opted Out / EventSub counts, the data-collection notice.
  • Config — persona update interval, Channel Lore Engine toggle, and the Message Sender, Chatter Consent Model and Data Region selectors (see above).
  • Commands — !roast and custom commands.
  • Eligibility — minimum sub tier, include moderators.
  • Messages — the opt-out and opt-in commands and the five chat replies.
  • Personas — browse, test, and delete personas.
  • Opt-out List — viewers who opted out, with scope.
  • Bits Backfill — one-time bits leaderboard seed.
  • Channel Lore — manual lore, pending insights, active community lore.

Who can change what:

  • Broadcaster and Lead Mods can change settings, commands, messages, eligibility and lore, toggle the module, and remove opt-out list entries.
  • Regular moderators can view every tab and can test commands and delete personas, but can’t change settings.
  • Bits Backfill is broadcaster-only.
  • On a plan below Affiliate, the tabs are visible read-only.

See AI — API endpoints for the full list of HTTP endpoints.

See AI — Authentication & permissions for the OAuth scopes this module uses and the EventSub subscriptions it registers.