Skip to content

Coming from Fossabot

Map Fossabot commands, timers, keywords, counters and moderation onto Bloopbot flows and filters, and rebuild your top commands.

8 min readUpdated

Before you start

This guide maps what you set up in Fossabot onto the closest thing in Bloopbot. Both run in the cloud, so neither needs anything installed on your PC. The difference is how you build: a Fossabot command is a line of text with $(variables) in it, and a Bloopbot command is a flow — a trigger, optional checks and one or more actions you connect on a canvas, where each step can hand values to the next.

There is no importer for Fossabot. You rebuild the commands you use most as flows, using the tables below. Bloopbot works with Twitch; if you also use Fossabot on YouTube or Kick, keep it there.

Commands, timers and keywords

In FossabotIn BloopbotNotes
A custom commandA flow with a Chat command trigger and a Chat message actionCommand is the word without the prefix, and Also responds to holds aliases — see create your first chat command.
A command’s permissionA Who can trigger check, with At least set to broadcaster, moderator, VIP, subscriber or everyoneFor a list of people of your own, use a Has a role check and add them on People → Regulars — see add permissions and cooldowns.
A command’s cooldownA Cooldown check, on Whole channel, Per viewer or bothModerators or you can skip it.
A timerA flow with an On a timer triggerSet an interval, or days and a time, and optionally Only if chat has moved — see post a recurring chat message.
A keywordA flow with a When chat mentions triggerIt fires on an exact phrase. To fire on what a message means instead, see wake a flow when chat means something, which may not be available on your channel yet.
A counterA declared variable plus a Set a variable step, read as $(var.name)The Counter templates in the Starter pack build a !deaths counter this way — see keep a counter with variables.
Media requests (YouTube and SoundCloud)The Song requests flow pack, playing through your own Spotify accountA different service: Bloopbot plays Spotify tracks and needs Spotify Premium — see let chat request songs. Song requests may not be available on your channel yet.

Variables

Fossabot puts its variables straight into the reply text. Bloopbot’s $(…) values come from the step that hands them on, mostly the trigger, and every field that takes them has an Insert… menu listing exactly what it can read.

What the variable gives youIn BloopbotNotes
The viewer who typed the command$(user)Handed on by the Chat command trigger.
The first word, or the viewer when there isn’t one$(touser)
Everything after the command$(query)
One word after the command$(1) to $(9)$(1) and $(2) are in the Insert… menu; type the rest by hand.
A number that goes up$(var.name) from a declared variableSee the counter row above.
How long you’ve been livehow long ago under Stream in the Insert… menuIt keeps counting after the stream ends, so pair it with a Stream status check.
$(customapi), the answer from your own addressA Web request step, whose answer later steps readIt’s a step on the canvas, not a token, and the channel switches Web requests: allowed on first. Web requests may not be available on your channel yet — see call a service from a flow.

A variable with no match here — anything Bloopbot doesn’t hand on — needs a different approach. Check the Insert… menu of the field first; it lists everything that step can read.

Moderation

Fossabot is known for its moderation, so compare this part carefully before you switch it off.

In FossabotIn BloopbotNotes
Blocked termsThe blacklist filter on ModerationAdd entries on the page or with !blacklist add from chat; -regex makes an entry a pattern — see what moderators can do from chat.
Lookalike detectionBuilt into the link filter and the blacklistBoth see through spaced-out, spelled-out and look-alike letters and invisible characters — see set up moderation helpers.
Links, caps, symbols, emotes and repeated messagesThe links, caps, symbols, emotes and repetition filters on ModerationEach has its own thresholds, exemptions and response.
Message-height filterNo equivalentBloopbot has no filter for tall messages.
Nukes!nuke from the Mod commands pack, with the Nukes pageSee set up moderation helpers.
Mod team access and audit logsEditors on Connections, and Audit LogEditors sign in with their own Twitch accounts and can change your channel’s pages; every change is recorded under their name. There are no roles within editors — see share the work with mods and editors.

Bloopbot also offers an AI moderation step you put in a flow, which reads what a message means rather than which words it contains. It may not be available on your channel yet — see set up AI moderation.

Rebuild your top commands

  1. Sign in, then open Flows → Explore packs and install the Starter pack. It brings everyday commands and stream reactions, paused, so you can review them before you turn them on.
  2. For each Fossabot command you still need, press + New flow → Start blank, add a Chat command trigger, and connect a Chat message action with your reply.
  3. Add a Who can trigger or Cooldown check in front of the action for anything that had a permission or a cooldown in Fossabot.
  4. On Moderation, set up the filters you had in Fossabot, one at a time, and watch chat before turning on several at once.

A worked example — a !discord command anyone can use, and a moderator-only !setdiscord that changes the link:

  1. On Variables, declare a text variable named discord_url with your invite link as its starting value.
  2. Build a flow: Chat command (discord) → Chat message reading Join us: $(var.discord_url).
  3. Build a second flow: Chat command (setdiscord) → Who can trigger (At least: moderator) → Set a variable (discord_url, set to $(query)) → Chat message reading Discord link updated.
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. The node palette is on the left and Test fire and Save are in the top bar.
A command flow on the canvas: a Chat command trigger feeding a Chat message action, with the values the trigger hands on in the tray underneath. Click to enlarge.

Expected result: a moderator types !setdiscord discord.gg/example, the bot says Discord link updated., and the next !discord posts the new link.

Turn off the old bot

Once a Bloopbot flow or filter does the same job, turn off the matching Fossabot command, timer or filter in Fossabot’s dashboard. If both bots answer the same command, chat sees two replies, and two bots filtering the same message make it hard to tell which one acted. When nothing is left in Fossabot you still need, remove it from your channel from its dashboard, and take its moderator role away in Twitch chat.

Check it before you rely on it

  • Test fire, in the flow editor’s top bar, runs the flow as a dry run and records what would have happened. It does not post to real chat or touch a real viewer’s cooldown.
  • A real check means typing the command in your own Twitch chat and watching for the reply exactly once.
  • For a filter, send a test message from a second account the filter doesn’t exempt.

Troubleshooting

  • You get two replies. Fossabot and Bloopbot are both answering the same command or timer. Turn off the one you’re retiring.
  • The command does nothing. Check the flow is live rather than paused, and that a Who can trigger or Cooldown check isn’t stopping it for the account you test with. Fix a flow or connection covers the rest.
  • The reply shows $(var.discord_url) or $(user) literally. The variable isn’t declared on Variables, or the token is misspelled. Pick it from the Insert… menu instead of typing it.
  • A filter doesn’t act. The bot account isn’t a moderator in your chat yet, or the viewer is exempt. See set up moderation helpers.
  • A node shows a lock. Your channel doesn’t include that step yet. Nothing else about the flow changes — see what your plan includes.