Pretty Okay-ish SUBATHON

Platforms
YouTubeKickTwitch
Software
StreamlabsMeld StudioOBS Studio
DLL Required Overlay Available Browser Source Dock

Run a fully automated subathon — subs, bits, donations, gifts, raids and follows add time across Twitch, YouTube & Kick, with live goals, a Power Hour multiplier, a transparent overlay, and a control dock.

4Downloads
Pretty Okay-ish SUBATHON

Download Pretty Okay-ish SUBATHON

Click the button below to download Pretty Okay-ish SUBATHON! If you find it useful, consider leaving a tip to support development.

Ko-fi

This Streamer.bot extension runs your entire subathon for you. Every sub, bit, donation, gift, raid, and follow automatically adds time to a live countdown — across Twitch, YouTube, and Kick at once. Track goals with animated bars, boost incoming time with a Power Hour multiplier (manually or automatically on a Twitch Hype Train), and control everything from a dock without ever touching Streamer.bot mid-stream. The overlay is fully transparent and skinnable to match any scene.

One browser source, endless looks — every style below is the same overlay

Signature

Signature

The default look — Plus Jakarta Sans, purple→pink bars, live Power Hour badge.

Skinned Card

Skinned Card

Drop it into a framed card with a background, border, teal accent and icon+label stats.

Neon

Neon

Bold Oswald type over the signature gradient bars.

Lime Card

Lime Card

Rubik on a dark card with a compact 2h 46m 12s time format.

Metal

Metal

Tall condensed Bebas Neue in blood crimson — for the heavy streams.

Overdrive

Overdrive

Exo 2, cyan, icon-only stats, left-aligned card.

Golden Hour

Golden Hour

Russo One in warm amber with the Power Hour boost running.

Tsunami

Tsunami

Titillium Web, electric blue, right-aligned card with completed goals.

Panic

Panic

Poppins with a full stack of live goal bars.

Minimal

Minimal

Just the clock — Inter, oversized timer, stats and goals hidden.

Hype

Hype

Kanit in orange, card style, Power Hour kicked off by a Hype Train.

Endurance

Endurance

Saira, teal, with a days-hours-minutes-seconds counter for the long haul.

Adding the DLL

This extension requires the Mustached Maniac UI DLL. Follow the instructions on that page to get it installed and restart Streamer.bot before proceeding.

How the Subathon Extension Works

The extension has two components:

  1. Overlay — A fully transparent browser source that shows the countdown on stream: the timer, an optional title/description, a live stats strip (subs, bits, donations, gifts, raids, follows), goal bars, a Power Hour banner, and a rotating "last event" line.
  2. Dock — A control panel you add to OBS/Meld/SLOBS. Start, pause, and add time to the timer; start a Power Hour; adjust totals manually; manage goals; and set the overlay's title/description text — all live.

The control dock — run the whole subathon without touching Streamer.bot

Subathon Control Dock

Subathon Control Dock

Start, pause and reset the timer, add or remove time, fire a Power Hour, adjust totals, manage goals, and set the overlay's title/description — all live.

Customizing the Overlay URL

https://mustachedmaniac.com/widgets/Subathon

Live Preview

ParameterExampleDescription
host192.168.1.1Only needed if your Streamer.bot WebSocket address is not 127.0.0.1
port8118Only needed if your Streamer.bot WebSocket port is not 8080
endpoint/stuffOnly needed if your Streamer.bot WebSocket endpoint is not /
passwordmYp@$$Only needed if you have authentication enabled on your WebSocket server
alignleftPosition of the overlay — left, center, or right (default: center)
fontRobotoAny Google Font name (default: Plus Jakarta Sans)
fontColor#ffffffText color (default: #ffffff)
accentColor#7c6af7Fill color for the goal bars (default: purple→pink)
shadowOnText shadow for legibility over any scene — On or Off (default: On)
bg#0f0f11Background color of the card. Adding it turns the card on; leave it off for a fully transparent overlay
opacity85Card background opacity as a percentage, 1–99 (default: 85)
borderOnEnable a card border. Pair with borderColor, borderWidth, radius, padding
showTitle / showDescriptionOffHide the title or description line
showStats / showGoals / showPowerHour / showEventsOffHide a whole section
statSubsstatFollowsOffHide an individual stat from the stats strip
statDisplaybothShow stats as label (text), icon (glyph/image), or both (default: label)
labelSubslabelFollowsSubbiesRename any stat's label
showCompletedOffDrop achieved goals entirely instead of showing them lined-through
goalMaxVisible4Cap the goal list to N rows tall; extra goals auto-scroll (default: 0 = all)
goalScrollSpeed30Goal auto-scroll speed in px/s (default: 30)
Every text block also has size/weight overrides — titleSize/titleWeight, descSize/descWeight, timerSize/timerWeight, statSize/statWeight, goalSize/goalWeight — if you want to fine-tune the type scale.

Customizing the Dock URL

https://mustachedmaniac.com/widgets/Subathon/dock
The dock URL also accepts host, port, endpoint, and password parameters — if your WebSocket server isn't on the defaults, add those to the dock URL as well.

What Adds Time

Each event type has its own time value that you configure in the extension's settings, per platform. Any event can be turned off if you don't want it to add time.

PlatformEvents that can add time
TwitchSubscriptions, Resubs, Gift Subs, Gift Bombs, Cheers (bits), Custom Power-Up redemptions, Follows, Raids, Hype Train level-ups, Charity donations, Channel Point rewards
YouTubeNew Members, Member Milestones, Gift Memberships, Super Chats, Super Stickers, Jewels, New Subscribers
KickSubscriptions, Resubs, Gift Subs, Mass Gifts, Kicks (bits), Follows

Custom Triggers — add time from any Streamer.bot action

Not limited to the built-in events above. On the Custom tab in settings you can watch any Streamer.bot action and add a set number of seconds whenever it runs. Give the trigger a name, pick (or type) the exact Action name to watch, set the seconds to add, and enable it.

This means anything you can build an Action for can add time — a chat command, a third party integration,a channel point reward, a Stream Deck button, a Hype Train event, a raffle win, a mod tool, whatever. Point the Custom trigger at that Action and the subathon clock responds. You can add as many custom triggers as you like and toggle each on or off.

The Follow event ships disabled with a time value of 0. Enable it and give it a number of seconds in settings if you want follows to add time and appear in the stats strip.

Power Hour

Run a temporary multiplier window (e.g. ×2) where every event adds boosted time. Start it manually from the dock, or have it start automatically when a Twitch Hype Train begins and stop when it ends.

Goals

Set goals against any metric (subs, bits, donations, gifts, raids, follows). Bars fill in live and completed goals are marked as achieved. Long goal lists can auto-scroll on the overlay.

Streamer.bot Custom Triggers

The extension registers these custom triggers under the MM Subathon group, so you can build your own alerts and automations off subathon events:

TriggerFires when
Subathon State UpdatedAny state change (any event, timer tick, manual adjustment, or reset)
Subathon Timer EndedThe timer reaches zero
Subathon Goal ReachedA goal is achieved
Subathon Power Hour ChangedA Power Hour starts or stops

Available Streamer.bot Arguments

The following arguments are pushed with each subathon update and are available in any Streamer.bot action tied to the triggers above.

ArgumentTypeDescription
subathonCommandstringWhat triggered this update
runningboolTimer is actively counting down
pausedboolTimer has been started but is currently paused
startedboolTimer has been started at least once
startTimeUnixintWhen the timer started, Unix seconds
startTimestringWhen the timer started, local clock time
endTimeUnixintProjected end time, Unix seconds
endTimestringProjected end time, local clock time
remainingSecondsintSeconds remaining on the clock
remainingFormattedstringTime remaining, formatted to your time format
elapsedSecondsintSeconds elapsed since the timer started
elapsedFormattedstringTime elapsed, formatted
totalTimeAddedSecondsintTotal seconds added by all events
totalTimeAddedFormattedstringTotal time added, formatted
totalSubsintTotal subscriptions counted
totalBitsintTotal bits counted
totalGiftsintTotal gifted subs counted
totalDonationsdoubleTotal donation/tip amount
totalRaidsintTotal raids counted
totalRaidViewersintTotal viewers brought in by raids
totalFollowsintTotal follows counted
totalSubsTimeAddedintSeconds added by all subs (all tiers combined)
totalSubsTimeAddedFormattedstringTime added by all subs, formatted
totalT1SubsintTier 1 sub count
totalT1SubsTimeAddedintSeconds added by Tier 1 subs
totalT1SubsTimeAddedFormattedstringTime added by Tier 1 subs, formatted
totalT2SubsintTier 2 sub count
totalT2SubsTimeAddedintSeconds added by Tier 2 subs
totalT2SubsTimeAddedFormattedstringTime added by Tier 2 subs, formatted
totalT3SubsintTier 3 sub count
totalT3SubsTimeAddedintSeconds added by Tier 3 subs
totalT3SubsTimeAddedFormattedstringTime added by Tier 3 subs, formatted
totalPrimeSubsintPrime sub count
totalPrimeSubsTimeAddedintSeconds added by Prime subs
totalPrimeSubsTimeAddedFormattedstringTime added by Prime subs, formatted
totalGiftSubsintGifted sub count
totalGiftSubsTimeAddedintSeconds added by gifted subs
totalGiftSubsTimeAddedFormattedstringTime added by gifted subs, formatted
totalBitEventsintNumber of cheer (bit) events
totalBitsTimeAddedintSeconds added by bits
totalBitsTimeAddedFormattedstringTime added by bits, formatted
totalRaidsTimeAddedintSeconds added by raids
totalRaidsTimeAddedFormattedstringTime added by raids, formatted
totalFollowsTimeAddedintSeconds added by follows
totalFollowsTimeAddedFormattedstringTime added by follows, formatted
totalDonationEventsintNumber of donation events
totalDonationsTimeAddedintSeconds added by donations
totalDonationsTimeAddedFormattedstringTime added by donations, formatted
powerHourActiveboolWhether a Power Hour is currently active
powerHourMultiplierdoubleCurrent Power Hour multiplier (e.g. 2.0)
powerHourEndsUnixintWhen the active Power Hour ends, Unix seconds
powerHourEndsstringWhen the active Power Hour ends, local clock time

Changelog

No reviews yet. Be the first to review this extension!