BlooBot

A joystick.tv Chat Bot · Built by HARPAX

BlooBot brings a loyalty streak economy, schedule management, and viewer engagement tools to your stream. Viewers build chat streaks by showing up and chatting on consecutive live streams, then cash those streak days in against your tip menu. Mods publish a weekly schedule, optional 4:20 and stream-duration announcements keep the chat lively, and every channel's economy rates and features are independently tunable in chat. Self-hosted — no third-party platforms, no data sharing.

Install from Marketplace →

Getting Started

New to BlooBot? Follow these steps to go from install to fully configured.

  1. Install from the joystick.tv Marketplace — Go to joystick.tv/applications, find BlooBot, and click Install. The bot joins your channel automatically within 30 seconds. No credentials to copy.
  2. Set your timezone — This is required for 4:20 announcements, the schedule, and stream-milestone timing to work correctly. Type in your chat: !blooconfig timezone ET (swap ET for your zone). Supported shortcuts: ET, CT, MT, PT, AKT, HT, BST, CET, AEST, JST; full words like Eastern, Central, Mountain, Pacific, Alaska, Hawaii, UK; or any IANA name like America/Chicago.
  3. Set your stream schedule — Tell BlooBot when you go live so viewers can check with !schedule. Example: !setsched mon 8pm wed 6pm fri 6pm. Use sub for subscriber-only days: !setsched sub sat 3pm. Run !schedule to confirm it looks right.
  4. Tune the loyalty economy (optional) — Defaults work out of the box. To customize: !blooconfig streak_rate 500 sets the tokens of tip-menu purchasing power earned per streak day (default: 1000); !blooconfig cashin_cooldown 10 sets minutes a viewer must wait between !cashin redemptions (default: 0, no limit); !blooconfig milestone 5 sets how often BlooBot shouts out a viewer's chat streak — every Nth stream they hit (default: 10; set to 0 to disable). This is separate from stream_milestones below.
  5. Enable optional announcements (optional) — These only post while your stream is live. !blooconfig 420_local on posts a single 4:20 PM announcement each day when your timezone hits 4:20. !blooconfig 420_all on celebrates every 4:20 happening around the world (fires many times a day, naming a different city each time). !blooconfig stream_milestones on posts a shoutout as your stream passes duration milestones (30m, 1h, 1.5h, 2h…).
  6. Set up the Discord go-live announcement (optional) — Create a webhook in your Discord server's channel settings, then save it: !blooconfig webhook https://discord.com/api/webhooks/…. Once it's set, you or a mod post the announcement on demand by typing !golive (or !golive Come hang out! for a custom message) — BlooBot then posts a "Going Live" message with your stream link to that Discord channel. Use !blooconfig webhook clear to remove it.
  7. Confirm everything — Run !blooconfig show to print all your current settings to chat and make sure everything looks right.

Features

Everything BlooBot brings to your stream.

🔥

Loyalty Streak Economy

Viewers earn a streak day each live stream they chat in; missing a stream resets them to one. Streak days become tip-menu purchasing power they spend with !cashin. Rate and cooldown are tunable per channel.

🎟️

Subscriber Perks

Subscribers get the cheapest tip-menu pricing and access to sub-only items. They can also stash one low-cost item per stream with !bank and pull it out later with !redeem.

📅

Stream Schedule

Mods publish a weekly schedule with !setsched (mark sub-only days with sub). Viewers check it any time with !schedule, shown in your timezone. Each channel's schedule is independent.

🌿

4:20 Announcements

Optional 4:20 PM celebrations while you're live. 420_local fires once a day on your own clock; 420_all joins every 4:20 around the world. Run either, both, or neither.

⏱️

Stream Milestones

Optional chat shoutouts as a live stream passes duration marks (30m, 1h, 1.5h, 2h…). Toggle on with !blooconfig stream_milestones on.

📣

Discord Go-Live

Save a Discord webhook, then post a "Going Live" announcement with your stream link on demand — you or a mod type !golive (or !golive your message) when you start.

⚙️

Per-Channel Config

Tune economy rates, cooldowns, timezone, 4:20 modes, milestones, and the webhook live in chat with !blooconfig — mods only, no restart required. !blooconfig show prints everything.

🏎️

F1 Schedule

Viewers get the next Formula 1 race weekend with !f1sched — every session time shown in your channel's configured timezone.

🔒

Self-Hosted & Private

BlooBot runs on its own hardware with no third-party platforms and no data sharing. Your settings, schedule, and streak data stay isolated to your channel.

Public Commands

Available in every BlooBot channel.

CommandWhoDescription
!streakAnyoneShow your current chat streak, your best-ever streak, and how much tip-menu purchasing power you have for !cashin.
!cashin [item]AnyoneSpend streak days on a tip-menu item, matched by name. Subscribers get the cheapest pricing and sub-only items; non-subs can't redeem sub-only items.
!bank [item]SubscribersStash one tip-menu item costing 100 tokens or less for later — once per stream. BlooBot asks you to confirm with Yes/No.
!redeem [item]SubscribersPull a previously banked item out and trigger it. Confirm with Yes/No. The item must still be active on your live tip menu.
!bankedAnyoneList the items you currently have banked and waiting to redeem.
!scheduleAnyoneShow this channel's remaining stream times for the week, in your configured timezone.
!setsched [day] [time]ModsSet stream times (e.g. mon 8pm wed 6pm). Prefix a day with sub for sub-only days. !setsched clear wipes the schedule.
!golive [message]ModsPost a "Going Live" announcement with your stream link to your Discord webhook. Requires a webhook set via !blooconfig.
!f1schedAnyoneShow the next Formula 1 race weekend's sessions, in your configured timezone.
!blooconfig [setting]ModsView and adjust this channel's bot settings (see the full table below). Run on its own for a setup guide.
!helpAnyoneList the commands available in this channel.

How the Streak Economy Works

A loyalty system that turns showing up into tip-menu rewards.

  1. Viewers earn streak days by chatting. The first time someone sends a chat message during a live stream, they earn a streak day. Chatting again the same stream doesn't stack — it's one day per stream.
  2. Streaks build across consecutive streams. Chat on your next stream and the streak goes up by one. Miss a stream entirely and the streak resets to one the next time they show up. Anyone can check their streak with !streak.
  3. Streak days become purchasing power. Each streak day is worth streak_rate tokens (default 1000). A viewer spends them on a tip-menu item by name with !cashin [item], and BlooBot deducts only the streak days needed.
  4. Cost rounds up to whole days. An item's token price is divided by streak_rate and rounded up, so a redemption never costs less than the item is worth.
  5. Subscribers get the best deal. Subs are charged the cheapest available price and can redeem sub-only menu items; non-subscribers can't touch sub-only items. Mods and the broadcaster can redeem anything to test.

Worked example (default rate = 1000)

A 1000-token item costs 1 streak day.

A 2500-token item costs 3 streak days (2500 ÷ 1000 = 2.5, rounded up).

Set !blooconfig streak_rate 500 and that same 1000-token item now costs 2 days — a lower rate makes rewards "cost" more streak days.

Subscriber banking. Subscribers can also set aside one inexpensive item (100 tokens or less) for later with !bank [item] — once per stream, confirmed with a Yes/No reply. It waits in their inventory (!banked) until they cash it out with !redeem [item], as long as that item is still active on your live tip menu.

Streak milestones. When a viewer's streak hits a multiple of your milestone setting (default every 10 streams), BlooBot shouts it out in chat. Set !blooconfig milestone 0 to turn those off.

Mod Settings — !blooconfig

Every setting is per-channel and changes instantly in chat. Mods and the broadcaster only. Run !blooconfig with no options for a quick setup guide, or !blooconfig show to print your current values.

SettingDefaultWhat it does
showPrint all of this channel's current settings to chat.
streak_rate <n>1000Tokens of tip-menu purchasing power earned per streak day. Lower = redemptions cost more streak days.
milestone <n>10Announce a viewer's chat streak every Nth stream they reach. Set to 0 to disable.
cashin_cooldown <min>0Minutes a viewer must wait between !cashin redemptions. 0 means no cooldown.
timezone <tz>UTCYour timezone, used by the schedule, 4:20, and milestone timing. Accepts ET/CT/PT…, full words (Central, Pacific…), or IANA names (America/Chicago).
webhook <url>not setDiscord webhook URL used by !golive. Use webhook clear to remove it.
420_local <on|off>offPost one 4:20 PM announcement per day on your own timezone, while live.
420_all <on|off>offJoin every 4:20 happening worldwide while live — fires many times a day, naming a different city each time.
stream_milestones <on|off>offPost a shoutout as a live stream passes 30m, 1h, 1.5h, 2h… marks.

How to Install

Get BlooBot running in your channel in under a minute.

  1. Find BlooBot in the joystick.tv Marketplace and click Install.
  2. Done! BlooBot connects to your channel automatically within 30 seconds. No setup form, no credentials to copy.
Install from Marketplace →