AutoChatbot watches Twitch chat channels in real time and replies automatically when someone types one of
your trigger phrases.
Getting Started
Log in with your Twitch account to authorize chat reading & sending
Add channels you want to monitor in the sidebar (e.g., your own channel)
Create triggers with + New trigger: a phrase and a reply
Keep the page open — it runs as long as the tab is open
Trigger Phrases
Set any text as a trigger (e.g., !sun). At start matches messages that begin with
the phrase; Anywhere matches it anywhere in the message. Matching is case-insensitive.
Add random alternatives to pick one reply at random. The number next to each reply is its
weight: a reply with weight 2 is picked twice as often as one with weight 1.
Who Can Use It
By default, anyone can activate a trigger. Under Advanced, enter comma-separated usernames in
Only these users to restrict it, or in Ignore these users to block accounts
like other bots.
Counter & User Placeholders
{username} — The name of the user who triggered the command.
{count} — A counter that goes up each time the trigger fires (turn on
Counter under Advanced).
Example: reply Hello {username}, you are visitor #{count}!
Command Arguments
{1}, {2}, … — The 1st, 2nd, … word after the trigger phrase.
{args} — Everything after the trigger phrase.
Add a fallback after | for when the value is missing: {1|1} uses 1 if
nobody typed a word after the command. Without a fallback, a missing value means the bot doesn't reply (the
Activity log says why).
Variables
Create variables in a channel's Variables tab, then use them in any reply:
{var:streak} — Current value.
{var:streak+1} / {var:streak-1} — Add / subtract, then show the new value.
{var:streak=0} — Set the value (numbers or text), then show it.
{var:streak+{1|1}} — Placeholders can be nested: adds the number typed after the
command, or 1.
Example: !addstreak → Streak is now {var:streak+1}! and
!currentstreak → Current streak: {var:streak}
Fetching Data
Under Advanced, give a trigger a URL to fetch data from, and the bot loads it every time the
trigger fires. Placeholders work in the URL too, e.g. https://example.com/last?id={1|1}.
{fetch:location.streetView} — A field from a JSON response (use items.0.name
for arrays).
{fetch} — The whole response, for plain-text APIs.
{fetch:location.streetView|{fetch:error}} — Fallbacks work here too.
Use the Test button to see every field you can use; the preview then shows real fetched
values. The API must allow cross-origin requests (CORS), since the bot runs in your browser.
Ranked Title
The Ranked title tab updates your stream title to ränked. count/goal each time a
new ranked game shows up.
Storage
All channels, triggers, variables and counter values are saved in your browser's local storage. They persist
across page refreshes and browser restarts.