Review queue
Put a moderator between "paid" and "played" - read the message, look at the media, decide what goes on stream.
The review queue holds a tip after it’s paid and before it reaches your TTS or media queue. A moderator sees the message and the media, can fix the wording, and chooses what plays: the message, the media, both, or nothing. Until they decide, nothing from that tip touches your stream.
The switches are off by default and live on Tip filter → Manual review. A tip your filter wants to block always comes here, whatever the switches say.
Five ways a tip lands in review
| Switch | What it holds |
|---|---|
| Review every tip | Everything. Every paid tip and every sub-reward message waits for a moderator. |
| Filter wants to block it | Always on. When the word filter or AI filter hits an entry set to block, the tip waits here instead of vanishing. You see the message as typed and, with the AI filter, what it thought was happening: which of the viewer’s words it read as which entry on your list, and why. Allow it if the filter got it wrong, or reject it and choose whether to release a held card payment or keep it. |
| Send filter matches to review | Tips where the filter replaced a word, too. Instead of the filtered version playing, you see what it caught, check it got it right, fix the text if it didn’t, and pass it on. Works with the first switch off. |
| AI filter unavailable | Always on for AI-filter tenants. If the model can’t be reached, the tip is held rather than falling back to the plain word list. The moderator sees the word list’s suggestion but nothing regex-filtered plays unread. |
| Looks like a banned video | Always on. The tip’s video matches the frames, thumbnail, length or title of a video you (or TipPage) banned - usually a reupload. The banned video is shown beside it and the media starts on Reject. See reuploads. |
Each item in the queue shows which of these brought it there, so a mod knows whether they’re reading a routine check or a filter catch.
Holding the money
Only tips that go into review are held; everything else is captured the moment it clears the ban check, exactly as before. For a Stripe tip that does need review:
- The money is held the moment the viewer taps pay: the card is authorised, not charged. Every check then runs on that hold - a banned viewer’s hold is released straight away, a clean tip is captured, and a tip that needs review simply stays held until you decide.
- Allowing the message, the media, or both captures the payment. The money moves, the tip plays.
- Rejecting both cancels the hold. The viewer is never charged, nothing to refund.
- For a tip the filter wanted to block, rejecting also offers Keep payment: nothing plays, but the payment is captured and the tip stays paid, as blocked tips were before they came to review. It stays off the leaderboard and the tip goal.
- Card holds last about a week. Each item shows its deadline; a tip nobody reviews in time expires, the hold releases by itself, and it drops off the queue.
You can switch this off (Hold payment until approved under Moderation › Tip filter) to capture before review instead - then rejecting keeps the money and simply plays nothing, and the refund tools are there if you want to give it back.
If PayPal is on for your account, those tips are always captured before review - there is no hold-first flow there.
Reviewing
The Review item appears in the sidebar whenever review is switched on or something is waiting, with the count on it. Each tip shows:
- the viewer’s name and amount, and the message with the filter’s changes already applied - edit either before approving
- the original text as typed, when the filter changed it, and what it matched
- the media with its thumbnail and length, and whether it’s on your banned list
- why it’s here: manual review, a filter match, the AI filter being unavailable, or a video that looks like a banned one
- for held payments, when the hold expires
Tap a tip to open it: the message on one side, the media on the other, each with its own Allow / Reject, a Donor profile button, and a notes box for the team. Confirm and the allowed halves enter the queues through the normal route - the bot announces it, TTS pre-renders, overlays update - as if the tip had never been held. Reject both and it goes nowhere: a held payment is released, a sub-reward credit goes back to the viewer.
Reviewing needs the Review queue permission. Granting it is separate from Tip filter (which controls the switches) - a mod can work the queue without being able to turn it off.
When the AI filter is failing
Three failed model calls in a row put a banner across the dashboard: AI filter is failing, with how many tips are waiting because of it. Nothing is lost - every affected tip is sitting in the review queue - but it needs a human until the provider recovers. The banner clears itself on the next successful call.
Developers
Two webhook events cover the queue: tip.held when a tip parks (with reason and payment_state), and tip.reviewed when a moderator decides (decision, which halves were allowed, and whether a payment hold was released). tip.created and media.created fire on approval exactly as for an unreviewed tip.