The command menu is part of the product
Viewers often meet paid stream features through chat commands, not dashboards. If !tts gives vague copy, viewers submit the wrong thing. If !upload does not say images require approval, moderators get blamed. If !wheel sounds instant but the wheel is manual-only, the streamer inherits a refund argument.
A good command menu is not a list of every feature. It is the live status board for viewer-controlled moments. It tells viewers what is open, what is paused, what is moderated, and what kind of moment they are buying or redeeming.
StreamableBot can power paid TTS, Upload Corner, tips, alerts, overlays, and chat commands. The command copy should make those features easier to use without turning chat into a help center article.
Keep the main menu tiny
Start with one menu command, then feature commands. !moments or !commands can list the available paid moments in one short line. It should not dump ten paragraphs into chat. Viewers need options, not a wall.
A clean menu might say: !tts for moderated voice messages, !upload for approved images, !q for paid Q&A, !wheel for challenge wheel, !goal for current sub goal, !alerts for queue status. That is enough. Each feature command can give the detail.
Use platform-specific links only where needed. Twitch, Kick, and YouTube chats may have different command behavior, link rules, and moderator habits. Keep the base wording consistent but let platform owners tune the link format.
- !moments: shows the short feature menu.
- !tts: explains voice message status and review.
- !upload: explains image upload status and approval.
- !q: explains paid Q&A queue.
- !wheel: explains challenge wheel status.
- !goal: explains current goal and what moves it.
Make every command status-aware
Commands should not lie. If TTS is paused, !tts should say paused. If Upload Corner is sponsor-safe mode, !upload should say manual approval and safe themes only. If Q&A is answering backlog, !q should say new questions are closed.
Static command copy creates support problems. Viewers follow old instructions, pay into closed queues, or expect instant playback while mods are holding messages. A command menu should read from the current mode whenever possible.
Use simple states: open, manual review, slow, sponsor-safe, guest-only, backlog, paused, closed. Those states tell viewers what to expect without explaining the whole moderation policy.
- Open: submissions are accepted under normal rules.
- Manual review: mods approve before anything appears.
- Slow: queue is moving, but delays are likely.
- Sponsor-safe: stricter categories and smaller alerts.
- Paused or closed: do not accept new submissions.
Write commands around viewer promises
Each command should answer what the viewer gets and what can stop it. For TTS: send a moderated voice message; unsafe or off-topic messages may be rejected. For Upload Corner: submit an image; mods approve it before it appears. For the wheel: enter a moderated challenge spin; results play at the next safe beat.
Avoid cute copy that hides the rule. Viewers are fine with moderation when they know it exists. They get annoyed when the command says instant chaos and the actual workflow says twenty-minute manual queue.
The best command copy is plain enough for a first-time viewer and short enough for a busy chat. Put detailed rules on the payment page or a linked rules page. Chat commands should point, not lecture.
- !tts open: Send a moderated TTS message. Mods approve before it plays.
- !upload open: Submit an image for Upload Corner. Safe images only, mod approval required.
- !wheel open: Enter the challenge wheel queue. Approved spins play at safe breaks.
- !q open: Send a paid question for the Q&A queue. Host reads selected questions.
- !goal open: Current goal, progress, and unlock.
Respect platform chat behavior
Twitch chat, Kick chat, and YouTube live chat do not behave exactly the same. Twitch has long-standing bot and chat docs. Kick's docs define chat scopes and events for apps. YouTube live chat has its own API resources and moderation surfaces. The command menu should fit the platform instead of assuming one bot pattern everywhere.
On fast Twitch or Kick chats, commands should be short and rate-limited. On YouTube, where Super Chats and live chat behavior differ, Q&A and paid message commands may need to explain the relationship between native Super Chat and your custom queue.
Do not spam commands automatically every minute. Trigger them when viewers ask, when a feature opens or closes, or when a mode changes. A command menu should reduce noise, not become the noise.
- Use cooldowns for public commands.
- Let mods run status commands manually during busy moments.
- Use platform labels when a command opens a platform-specific flow.
- Do not promise API actions your bot cannot perform on that platform.
- Keep fallback copy ready when a platform connection is down.
Include moderation outcomes
A command that invites payment should mention moderation. Not in scary legal language, just plainly. Messages may be held or rejected. Images need approval. Wheel entries can be delayed until a safe break. Q&A questions may be combined or skipped if already answered.
This protects moderators. When a rejection happens, the mod can point to the rule instead of making a personal argument. It also protects the streamer from reading a risky message because the viewer paid.
Use the same rejection categories in commands, payment pages, and moderator tools. If commands say safe only but the dashboard says sponsor-confusing, viewers and mods will talk past each other.
- Unsafe content can be rejected.
- Paid does not guarantee publication.
- Technical failures go to support, not live chat debate.
- Moderators can pause features during sponsor, guest, or privacy moments.
- Queue status may change during the stream.
Use aliases without making a maze
Aliases are helpful when viewers naturally type different words. !upload and !image can point to the same Upload Corner status. !q and !question can point to paid Q&A. !wheel and !spin can point to the challenge wheel. Add aliases only after viewers actually mistype or ask for them.
Too many aliases make moderation harder because nobody knows which command copy is stale. Keep one canonical command in the menu and let aliases quietly return the same current status. If an alias has different copy, it will eventually drift.
- Canonical command goes in the menu.
- Aliases return the same status copy.
- Old campaign commands expire after the event.
- Mods should know the canonical command before stream starts.
Give mods quiet-only commands
Not every command should be public. Mods need quiet controls or dashboard actions for pause TTS, pause uploads, compact alerts, hold wheel, close Q&A, and queue status. If every control speaks in public chat, moderation becomes noisy.
Use public commands for viewer information and private controls for production. A mod can run !tts to tell viewers the feature is paused. They should not have to type the public command to actually pause the feature. The control should live in the dashboard or trusted mod interface.
StreamableBot's value is stronger when the public command menu and private moderation controls agree. The viewer sees clear state. Mods get fast controls. The streamer does not have to explain the difference live.
- Public: !tts, !upload, !q, !wheel, !goal, !alerts.
- Private: pause TTS, pause uploads, close queue, compact mode, sponsor-safe mode.
- Public status should update after private state changes.
- Moderator controls should log who changed state.
- Emergency pause should affect all paid browser-source moments.
Review command logs after stream
Command logs show confusion. If viewers keep running !tts after it is paused, the status copy may be too weak. If they keep asking what !upload does, the menu label may be unclear. If mods keep explaining refunds, the command may be hiding the moderation rule.
Review the top commands, failed commands, repeated questions, and mode changes. The goal is to shorten the next stream's confusion. Remove commands nobody uses. Rename commands that viewers mistype. Add aliases only for real patterns, not every possible joke.
A good command menu gets smaller over time. The first version may have extra explanation. The mature version has clear commands, accurate status, and a payment page that handles detail.
- Top repeated command.
- Most common mistyped command.
- Feature command that caused the most follow-up questions.
- Mode changes that did not update public copy fast enough.
- Command that should be removed or merged.
Other resources
Use these references when checking chat docs, platform event behavior, live chat APIs, OBS browser sources, and StreamableBot feature copy.
- Twitch Developers: Chat and Chatbots.
- Kick Dev Docs: scopes and chat.
- YouTube Live Streaming API: LiveChatMessages.
- OBS Studio: Browser Source.
- StreamableBot features.
Quick answers
What commands should a paid stream moment menu include?
Start with !moments, !tts, !upload, !q, !wheel, !goal, and !alerts. Add more only when viewers actually need them.
Should commands mention moderation?
Yes. Tell viewers when messages, images, wheel entries, and questions require approval. It prevents refund arguments and gives moderators a written rule.
How often should a bot post paid feature commands?
Use commands on request, on feature open or close, and during mode changes. Avoid automatic spam that interrupts chat every few minutes.
Where does StreamableBot fit in command menus?
StreamableBot can connect chat commands to paid TTS, Upload Corner, alerts, overlays, Q&A, and moderation state so the public command copy matches the actual queue.
