Automation Scenarios

People ask this as

Comes with strAImer: this module is installed together with the app, so there is nothing to download. It is listed under Module Catalog → Built-in.

What this page is

Automation → Scenarios wires an event to a chain of actions: a viewer redeems a reward, and OBS switches scene, a sound plays and the bot writes a line in chat. Its own description puts it as "Configure reaction rules for Twitch rewards and timers".

Three things make up a scenario, and it helps to keep them apart:

Building a scenario

1. Create it

Create Scenario in the header. An empty page reads "No scenarios found. Create your first scenario above." Fill in Scenario Name and pick a Group — No Group is a valid answer, and [ Create new group... ] makes one on the spot.

2. Add a trigger

Triggers is the list of ways in, and the page says why there is a list rather than one: "Any of these starts the same chain of steps. Add a second one instead of copying the scenario." + Trigger opens Add Trigger, and Trigger Type offers fourteen:

TriggerWhat it asks for
Channel Rewarda reward from -- Choose Reward --, grouped by Twitch and Kick, each showing its cost. -- Enter ID manually -- takes an id instead
Panel Buttona Panel Button Slot — one of the buttons on the Panel: Buttons tile of the Control Panel
Donationan Amount condition and which services count
SubscriptionWhich subscriptions — Any subscription, Only new ones, Only renewals
Gifted subscriptionsMinimum subscriptions gifted at once
RaidMinimum viewers in the raid
Bits (cheer)Minimum bits
New followernothing
Stream startednothing
Stream endednothing
Timer reached zeroWhich timer: one of your countdowns, or Any timer
Voice phrasePhrases, one per line; How to compare — The phrase is said somewhere in the sentence, The sentence is exactly the phrase or Regular expression
Chat messageCommands and words, one per line; How to compare — Command: the first word of the message, The message starts with the phrase, Word anywhere in the message; and Who can start it — Anyone in chat, Subscribers and above, Moderators and you, Only you
Built-in Twitch rewardwhich purchase: any, Highlight My Message, Send a Message in Sub-Only Mode, Gigantify an Emote, Message Effect

On the three minimums, zero means any. Stream started and Stream ended say so themselves: "Fires once when the stream state changes. There is nothing to configure."

Timer reached zero listens to the countdowns from Widgets → Timers, and the hint under it says how: "Timers are set up in Widgets → Timers. A countdown that keeps going below zero fires once, when it crosses zero." Only countdowns are offered, because a timer that counts up never reaches zero. A timer that is switched off does not start the scenario, and a zero reached while the app was closed does not start it once the app is running again.

Chat message works on every connected chat at once, and the three ways of comparing differ more than they look. Command reads the first word only, so "!light" also catches "!light red"; the exclamation mark is optional in what you write, but if you write it, a plain "light" in conversation no longer counts. Word anywhere in the message means the whole word: "hi" does not match "hiking". Your own bot's replies never start a scenario, so a chain that writes to chat cannot feed itself.

Voice phrase is compared by the app itself, not by the AI: it needs no bot name in front of the phrase and spends no credits. It hears whatever speech recognition hears (Voice → Speech recognition). With When to listen set to Always, a phrase that comes up in ordinary talk starts the scenario too, so pick words you would not say by chance, or take The sentence is exactly the phrase. With Hold a key, the microphone listens only while the key is held, and what you say then also goes to the assistant, which is the part that costs credits. With Always, a sentence that starts with the name from How you call the bot goes to the assistant too, and with that name left empty every sentence does; the guide "Speech recognition" explains both modes.

Done puts the trigger into the list, where a saved one can be reopened or removed.

Two guards sit in the same window, and both start switched off. Do not run more often than, seconds is the pause between runs: "Zero means no limit — every event runs the scenario. A follow-bot raid sends hundreds of follows a minute, and without a cooldown each one writes to chat, speaks and clips." Once per viewer is the other half, with a list beside it: per hour means the same person cannot start it again within the hour, per stream means once until the next stream starts. Older scenarios stay on per hour. The per-stream memory starts over when Stream Status reports a new stream, and when the app restarts.

The pause is shown for the ways in that a crowd can push: a new follower, a subscription, gifted subs, a raid, bits, a built-in Twitch purchase and a chat message. Once per viewer is offered only for New follower and Chat message: both are free and easy to repeat, while a repeated sub or cheer is a second payment, and it is not silenced. A reward, a panel button, the edges of a stream, a timer reaching zero and a spoken phrase show neither guard: there is no storm to fear there. A new Chat message trigger opens with five seconds already in the pause, because viewers repeat commands; a scenario written before these guards existed behaves exactly as it did.

An empty reward list says "No rewards found. Please connect Twitch or check your Twitch Dashboard."

3. Donation triggers have two filters

Amount condition is Any donation, From this amount and up, Exactly this amount or Between two amounts, with Amount and Up to beneath it.

Count donations from lists your donation connectors as tickboxes: "Unchecked platforms are ignored by this scenario. A newly installed donation connector counts right away."

Amounts are compared in your base currency (Settings → Localization), and a donation that could not be converted does not fire the scenario at all. That is also why Exactly this amount is a trap for anything arriving in another currency — the page warns about it in as many words: "An exact match only works for donations already in your base currency: after conversion the amount lands on fractions of a unit and practically never matches."

4. Build the chain

Step chain is what happens. Empty, it reads "No steps yet. Add an action or a delay."

A Delay also decides what a second trigger does while the chain is still waiting. A chain that switches something on and then off is extended: the deadline moves by the length of the delay and the actions are not run again — buying the effect twice buys twice the time, and repeating the switch would have turned it off. A chain that says or writes what the trigger brought — {message}, {user} — runs once per trigger instead: three redemptions in five seconds are three separate runs, so nobody's message is dropped. Nothing to set here; the app decides by what the steps do.

A chain that makes a sound keeps the app's sound to itself until its last sound step is done. That is what makes a pause before speech worth anything. "Wait 6 seconds, then say it out loud" holds on right through the reading, so three redemptions in a row are read one after another with six seconds of quiet between them, instead of all three counting down at the same time and arriving nose to tail. A chain whose sound comes first, "play a sound, wait 30 seconds, hide the filter", lets go the moment the sound ends: half a minute of an effect holds nobody up. A chain with no sound step never waits at all, so switching a scene is never delayed by somebody else's speech.

A pause runs even when the app cannot write it down. The countdown starts before the paused chain is saved, so a slow or failed save no longer swallows the rest of the chain. All that is lost in that case is surviving a restart of the app; the pause itself still reaches its end and the chain carries on.

OBS — needs the OBS connection, and the pickers are filled from OBS itself:

strAImer — everything the app does itself:

Under Text and Data to send sit the chips {user}, {amount}, {reward}, {message} and {args}: "Click a name below to insert it. It is replaced by what triggered the scenario; an unknown name is left as is." {args} belongs to the chat trigger — it is the text after the command, so "!order pizza" gives "pizza". Quotes and line breaks in what a viewer wrote are escaped on the way into JSON, so the data stays valid.

5. Order and save

Steps run top to bottom. Each row has arrows Up and Down, plus Edit and Delete. Save stores the scenario.

The card in the list then shows a tag per trigger, the whole chain and the number of steps. Beside it: the on/off switch, Test run, Duplicate (the copy opens for editing at once, named " (copy)"), Edit and Delete, which asks "Delete this scenario?"

Groups, and letting OBS switch them

A group is a folder that can also be a switch. Create Group in the header makes one; give it a Group Name, and scenarios join it through the Group field. An empty group says "No scenarios in this group yet."

Automatic control

Automatic control makes the group follow a Condition Type:

The first three ask for Select OBS Scene and Select OBS Source, and each explains itself under the picker — for instance "The condition holds while the selected scene is live."

What the condition controls is the list underneath: "While the condition holds, everything listed here is on; once it stops holding, it is off." The first line is locked and always there — "Scenarios in this group do not fire while the condition is not met." + Add adds Twitch channel point rewards, a tickbox list of your rewards, and Remove takes an entry away.

Why some rewards are greyed out

A reward you created by hand on the Twitch site is greyed out, marked "created outside strAImer" and cannot be ticked. Twitch lets an app switch only the rewards it created itself, so such a reward would be refused every time — and the group would report itself as on while nothing changed on Twitch.

To automate one, recreate it as a managed reward on Automation → Channel Rewards; the guide "Channel Rewards Manager" covers that page. One that is already ticked can still be unticked, so an old setting is never stuck.

The three-second wait

A condition that changes does not switch the group at once: the new state has to hold for three seconds first. A source that blinks on and off again inside those three seconds changes nothing — the pending switch is dropped and the group stays as it was.

That is deliberate. A source nobody had time to see on stream is no reason to open the rewards, and switching a group means one write to Twitch per reward in it, so a flickering source used to fire dozens of them in a row.

The wait applies only to what comes from OBS. Turning Automatic control on or off, pressing Save, the auction opening or closing channel points, and OBS losing the connection all take effect immediately.

The group in the list

A group header carries the Auto tickbox, the group switch, Condition Settings and Delete; clicking the header folds the group. Deleting asks first and reassures: "Delete group "{name}"? All nested scenarios will be safely moved to the "No Group" section."

What it cannot do