# Build a Twitch bot without code

Make chat commands, alerts and timers by connecting steps on a visual canvas in your browser, with no scripts, no templates to memorise and nothing to install.

Updated 7 October 2026

## The short answer

Bloopbot is a no-code Twitch chat bot: every command, alert and timer is a visual flow you draw in your browser, made of a trigger, optional checks and actions, instead of a script or a line of `$(variables)` to get exactly right. It runs on Bloopbot's servers, so it keeps answering chat when your PC is off, and it can bring over the commands you already have in Nightbot or StreamElements. The Free plan holds 15 flows you build or change yourself, and ready-made packs add more without counting.

You need your Twitch channel connected to Bloopbot ([Get started](https://bloopbot.com/docs/getting-started)).

## How a flow works

Every flow answers three questions, in order:

| Part | Question it answers | Example |
| --- | --- | --- |
| Trigger | When should this start? | Someone types `!hug` |
| Check | Should it carry on? | The command wasn't used in the last 30 seconds |
| Action | What should happen? | Send a chat message |

A flow in a straight line edits as a short form, the **Simple** view. Switch to **Canvas** to see the same flow as connected cards, when you want branches, more checks or several actions.

## 1. Make a command from a form

1. Open **Flows**, then **Packs → Starter**, and open **Simple command**.
2. Set **Command** to `hug`. Leave the prefix as `!`.
3. Under **Do this → Message**, enter `$(user) gives $(1) a big hug!`. `$(user)` is whoever typed the command and `$(1)` the first word after it.
4. Press **Save**.

![The Simple command form: Command is hello with Also responds to empty and a More options (2) fold closed beneath it, then an Only if step with no conditions, and a Chat message step whose Message is Hey $(user)! Thanks for stopping by., with Insert… on its label row.](https://bloopbot.com/docs/screenshots/simple-command.jpg)

_A command in the Simple view: what starts it, any checks, and the reply._

[Create your first chat command](https://bloopbot.com/docs/first-command) covers aliases, replies and the words after a command.

## 2. Add a check on the canvas

1. In the same flow, choose **Canvas** in the top bar. The trigger and the reply are two connected cards.
2. Use **Add a node** and search for _cooldown_. Choose **Cooldown** and drop it on the line between the two cards.
3. Set it to 30 seconds and press **Save**.

Now `!hug` answers at most once every 30 seconds. Other checks work the same way: **Who can trigger** makes a command moderators-only ([Make a command moderators-only](https://bloopbot.com/docs/permissions-and-cooldowns#permissions)), and a condition can send chat one way or another depending on what happened.

![The flow canvas with a Chat command trigger connected to a Chat message action. Under the trigger, a tray of the values it hands on — Who typed it, After the command, Word 1, Word 2 and a +1 more button; under the Chat message, its Message field with a user badge, with a dashed data wire into it from Who typed it. The node palette is on the left, Test fire and Save are in the top bar, and the Tidy up button is in the canvas toolbar.](https://bloopbot.com/docs/screenshots/flow-canvas.jpg)

_The same kind of flow on the canvas: a Chat command trigger connected to a Chat message action._

## 3. Start from ready-made flows

You don't have to draw everything. **Starter** arrives on every new channel, paused so you can look first: greetings for new followers and first-time chatters, `!so`, `!clip`, quotes, a death counter and more. **Marketplace** on the Flows page has packs for loyalty points, giveaways, song requests, moderation helpers and more, from Bloopbot and from other streamers. A built-in pack's flows don't count toward your plan until you change one. [Use templates and flow packs](https://bloopbot.com/docs/templates-and-packs) explains how to add and update them.

## 4. Bring your commands from another bot

Coming from Nightbot or StreamElements? Bloopbot reads your public command list and turns each command into a flow, with its permissions and cooldown, without you signing in to the other bot.

1. Open **Flows → Marketplace → From another bot** and choose your old bot.
2. Untick anything you don't want to keep, and tick **Turn on now** for the commands that should answer straight away.
3. Each command arrives as its own flow; the rest stay paused until you switch them on.

![The Bring commands from another bot page listing four Nightbot commands, each ticked to bring over with a Turn on now box: !so with a choice between Use Bloopbot’s shoutout, selected, and Keep your reply, set to turn on; !uptime whose reply reads how long the stream has been live, with a note that it stays quiet offline; !lurk as a plain reply, set to turn on; and !discord.](https://bloopbot.com/docs/screenshots/bot-import-review.jpg)

_The import review: each Nightbot command with what it becomes in Bloopbot._

[Coming from Nightbot](https://bloopbot.com/docs/coming-from-nightbot) and [Coming from StreamElements](https://bloopbot.com/docs/coming-from-streamelements) map everything else.

## 5. Test it, then switch it on

1. In the flow, press **Test fire** and expand the **Run log**. It shows each step that ran and each check that stopped it, without sending anything to Twitch.
2. Switch the flow on.
3. Type `!hug PixelPal` in your chat. The bot answers _YourName gives PixelPal a big hug!_

## Troubleshooting

- **The bot doesn't answer.** Check the flow is switched on and the bot is a moderator in your chat: until it is, the dashboard shows a **Not a mod** bar and some flows stay paused ([Flows paused until your bot is a moderator](https://bloopbot.com/docs/flow-basics#bot-mod)).
- **A card on the canvas never runs.** A card with no line into it doesn't run. Connect it to the step before it.
- **You hit the flow limit.** The count on the Flows bar shows how many of your plan's flows you've used. Remove one you don't need, or see [What your plan includes](https://bloopbot.com/docs/what-your-plan-includes).
- **Something else.** [Troubleshooting](https://bloopbot.com/docs/troubleshooting) covers commands that stay silent and other common problems.
