# Screen viewer text with AI

Check viewer-written text before a quote is saved or a reward’s input goes on stream.

Updated 23 September 2026

## Before you start

You’ll need the **Text screening** AI feature on your channel — check [Your plan](https://bloopbot.com/docs/what-your-plan-includes). Without it the step can’t be added, and text is saved or shown exactly as it always was.

## What it checks

One step — **AI: text OK to show?** — that you put in front of whatever you want checked. It asks about a slur or hate speech, sexual content, someone’s personal information (doxxing), harassment of a named person, and anything that would visibly embarrass you in front of your audience. Ordinary, mundane or off-topic text always passes.

**Where is it going** sets the bar. **Shown on stream** is stricter, because nobody reviews an alert before it is live; **Saved for later** — a quote, a queue — is looser. Each category is also offered as a value a later step can read.

## Screening new quotes

Install **Check a quote before saving it** from the **AI helpers** pack: `!addquote` → mods only → the check → save it. A flagged quote takes the **Flagged** branch and the flow says so in chat instead of saving it.

The reason it flagged is available as **Reason** on that step’s **Insert…** menu, and as a [data wire](https://bloopbot.com/docs/data-wires) from its tray, which the template puts in the reply.

## Screening a reward’s typed-in text

Install **Check reward text before it goes on stream**. A viewer redeems a reward and types something; the check reads it before anything shows it. Clean text goes on screen: the flow shows your `redemption` alert design with the viewer’s name and what they typed. The keep-or-refund decision sits in one group inside the flow, **Screen reward text**, with a **Safe** and a **Refunded** exit; open it from the flow to change what happens ([reuse a set of nodes as a group](https://bloopbot.com/docs/group-nodes)). Flagged text does not go on screen, and the flow asks Twitch to refund the points — which Twitch only allows for a reward the same Bloopbot created, so on a reward from your own dashboard the refund is refused, the viewer is not told, and the redemption waits in your Twitch queue for you to action there. [The reward guide](https://bloopbot.com/docs/reward-redemptions) explains that limit, the **Reward** field, and what to do when the list is not there.

## Alert cards

Overlay alerts are no longer screened behind the scenes. If you want a sub or cheer message checked before it goes on screen, put the step in front of the alert action in your own alert flow, the same way the reward template does — and you get to decide what happens when it flags, rather than the message silently disappearing from the card.

## The Unsure branch matters

The step leaves by **Unsure** when the judge can’t answer — your channel doesn’t include the feature, or the judge is unreachable. Both templates wire it to the same place as **Safe**, so the quote is still saved and the reward still works.

Leave it unwired and a channel without the feature saves no quotes at all. The editor puts a warning on the step if you do.

## Troubleshooting

- Step won’t add? Confirm your channel includes the Text screening feature — check [Your plan](https://bloopbot.com/docs/what-your-plan-includes).
- Nothing ever saves? Check the **Unsure** branch is wired — see above.
- Something you expected to pass got flagged? The judge answers the exact wording. Try **Saved for later** if it is not going straight on screen, or untick the category that is firing.
- Screening feels slow or gets skipped? It fails open — a timeout, rate limit or outage lets the text through exactly as if the step were not there.
