Moderate Twitch TTS with VoicePuppet
Learn how Twitch AutoMod, blocked terms, manual approval and the browser queue help you control TTS on stream.
Before a message plays
VoicePuppet gives the broadcaster and their moderators several ways to control text-to-speech messages. The desktop app plays the audio. Authorized moderators can work from a browser without using the broadcaster’s PC.
| Control | What it does |
|---|---|
| Twitch AutoMod | Holds TTS messages while Twitch screens them with the channel’s AutoMod rules. |
| Blocked terms | Checks the channel’s terms and the zero-tolerance list. |
| Manual approval | When enabled, keeps messages waiting until they are approved. |
| Browser queue | Lets authorized moderators preview waiting audio and remove a message before it plays. |
Automated checks do not guarantee that a message is suitable for your stream. Preview and manual approval give your moderation team a chance to decide before the audience hears it.
Give moderators access
The broadcaster decides who can use the channel’s moderation tools and can remove that access. Moderators sign in with Twitch and open the channel’s dashboard. They do not need the VoicePuppet desktop app on their own computer to use the browser queue.
Review waiting messages
The live queue shows messages waiting for playback. A moderator can listen to a message before the stream hears it and remove it when necessary. Manual approval adds a decision before playback instead of relying only on removal.
- Sign in with the Twitch account that has access to the channel’s moderation tools.
- Open the channel’s dashboard and its Live queue view.
- Use a waiting message’s preview button to listen before deciding what to do.
- If the message should not play, use its remove action while it is still waiting.
Previewing a message does not approve it. With manual approval enabled, the broadcaster reviews pending playback in the desktop app. The browser queue’s preview and removal controls do not turn manual approval on or off.
The browser tools also provide message history and a record of moderation actions. Use them to check what happened when a viewer reports a missing or removed message.
Viewers can type !me in Twitch chat to check their upcoming main-queue positions and estimated wait.
The command also highlights their visible puppets. Chat replies have a cooldown.
Find a viewer or message
In Live queue and Archive, Search messages or viewers accepts part of a username, login or message. Search in limits matches to Viewer, Message text or All fields. Searches ignore letter case and keep punctuation literal.
Use Viewer A–Z or Viewer Z–A to order a message list by the names shown on its messages. Sorting changes the list you see. Queue numbers still show playback order.
In a message’s details, Show this viewer’s messages limits the list to that viewer. You can then search their message text. Remove the Viewer filter to return to all viewers.
Live queue searches recent messages kept during your visit. Search archive carries your search into older history. Archive results include the original chat text and the spoken message. A result can show which hidden text or login matched.
Restore missing website history
If messages played but are missing from the website, authorized channel staff can check the linked app’s saved history. The broadcaster’s VoicePuppet app must have the original records. Logs and message totals cannot replace missing text or recordings.
- In the channel’s moderation tools, select Restore history.
- Choose the affected date and time range, then select Scan history.
- Review the entries found and the entries already on the website.
- Select Restore entries. You should see progress and a final result.
This restores website history without playing the messages again. Some entries may have text without a recording. If VoicePuppet is unavailable, keep the linked app open. A scan can continue when the app reconnects. The separate lost-message playback controls still decide whether a message should play on stream.
What viewers see on your channel page
While you are live, a Live badge shows under your channel name. It opens the live feed, which lists each TTS message as it starts playing. A row shows the viewer’s name, the voices and the words spoken. It never shows Bits, amounts or the original chat text. Skipped messages, removed messages and messages still waiting never appear. The live feed shows only the current stream. When the stream ends, the list clears and the badge goes away. After a chatter puppet speaks, viewers can turn on Hide chatter puppets to list only the other messages. Their browser remembers the choice.
The live feed is on for every channel. To turn it off:
- Open your channel settings and select Live feed.
- Turn off Show the live feed, then select Save.
You should see: The live feed is off. The Live badge no longer shows on your channel page.
Optional AI advice
When enabled, AI moderation can recommend allowing, reviewing or blocking a message. The recommendation is advice: it does not delay or remove the message on its own. A moderator still decides what to do.
Keep playback controls close
Stream Deck provides physical skip and pause controls. Streamer.bot lets your actions control the main queue and react to playback changes. Both are optional.
Troubleshooting
Remove is unavailable
The website needs the desktop app online and synchronized to send a removal command. Ask the broadcaster to check the desktop connection. A message that already started playing is no longer a waiting message.
Messages are waiting, but no one hears them
- Ask the broadcaster to check for paused playback in the desktop app.
- If manual approval is enabled, ask the broadcaster to review pending messages.
- If a message is held by Twitch AutoMod, review that hold through Twitch’s moderation tools.
Preview works, but OBS is silent
A browser preview plays to the moderator’s device. It does not test the broadcaster’s OBS audio. Use the OBS sound checks on the streaming PC.
See the streamer overview for the moderation flow, or get started with VoicePuppet.