BROWSER SOURCE Includes an overlay browser source for your streaming platform, like OBS Studio. TWITCH ONLY Designed specifically for Twitch. Not compatible with other platforms. DLL REQUIRED This extension requires a .dll file (TawmaeUI.dll) in your Streamer.bot directory. On your first setup, it will ask to auto-download. You can download it manually at tawmae.xyz/dll.

A fully customizable, fully featured Subathon widget for Twitch. Includes subs, bits, donations, follows, raids, channel- and even loyalty points. Powered by Streamer.bot.

  • Customize time additions for every event
  • Set your own goals
  • Reliable and precise tracking with automatic backups
  • Option to limit the max. added time
  • Enable Happy Hours for extra contributions!
  • Supported events:
    • Subs (of all tiers)
    • Bits
    • Donations (Streamlabs, StreamElements, Kofi, Tipeeestream, Fourthwall)
    • Charity Donations
    • Follows
    • Raids
    • Channel Points
    • Loyalty Points
Subathon in action

Quick Access

Copy what you need to get started. Follow the setup guide below for detailed instructions.

Browser Source URL

Add this as a browser source to OBS.
https://tawmae.xyz/overlays/twitch-subathon

Action Import String

Import the actions into Streamer.bot.
Loading…

Setup Guide

Prefer watching?

A video tutorial is available for this extension. Watch the step-by-step guide to help you set everything up quickly and easily.

Watch on YouTube
1

Copy the Action Import String

Copy the Action Import text from Quick Access.

2

Import the actions into Streamer.bot

In Streamer.bot click Import in the top menu. Paste the text into the Import String field. Click Import at the bottom.

3

Enable the Commands

Open the Commands tab. Find the imported group. Right-click the group and click Enable All.

4

Open the Settings UI once and hit Save

Open the action [TWITCH SUBATHON] #0 - Settings. Right-click the Test trigger and hit Test Trigger. Click Save.

If the TawmaeUI.dll is missing, you'll be asked to auto-download. That popup window may appear behind the Streamer.bot window, so make sure to check if nothing appears.
5

Start WebSocket Server

Go to the tab Servers/Clients → WebSocket Server. Enable Auto Start WebSocket Server. Address 127.0.0.1. Port 8080. Optional password. Leave Enforce All Requests unchecked. Start the server.

6

Copy Browser Source URL

Copy the Browser Source URL from Quick Access.

7

Add Browser Source in OBS

In OBS create a new Browser Source. Paste the URL. Prefer setting Width and Height to your OBS canvas size instead of scaling the overlay in OBS.

If you want to have the browser source in multiple scenes, don't create a second browser source. Instead, use nested scenes or source clones.
8

Done!

And you are done!

Note that donations require connecting your chosen platform (Kofi, StreamElements, Fourthwall, etc.) to Streamer.bot. Once connected the Subathon picks them up automatically.

Commands

Mods Only

!subathonStart

Start the subathon.

!subathonStart
Mods Only

!subathonPause

Pause the subathon timer.

!subathonPause
Mods Only

!subathonUnpause

Resume the subathon timer.

!subathonUnpause
Mods Only

!subathonAddTime [Duration]

Manually add time. The duration allows for these formats (not combined!): 10s, 15min, 5h, 1d, 05:00 (-> 5min) or 01:30:00 (-> 1h and 30min).

!subathonAddTime 15min
Mods Only

!subathonRemoveTime [Duration]

Manually remove time from the timer.

!subathonRemoveTime 1h
Mods Only

!subathonAddEvent [Event] [Amount]

Manually increase event counts (subs, bits, donations, follow, cpr, raid, lp). Those are the available keys: prime; tier1; tier2; tier3; donations; charitydonations; follows; channelpoints; raids; loyaltypoints; combinedgoal.

!subathonAddEvent bits 500
Mods Only

!subathonRemoveEvent [Event] [Amount]

Manually decrease event counts to correct mistakes. Same event keys as add.

!subathonRemoveEvent donations 10
Everyone

!subathonContributePoints [Amount]

Spend Loyalty Points to add time.

!subathonContributePoints 1000
Mods Only

!subathonStartHappyHour

Starts the happy hour.

!subathonStartHappyHour
Mods Only

!subathonEndHappyHour

Ends the happy hour before its time runs out.

!subathonEndHappyHour

Settings UI

General

Some good ol' general settings!

  • Starting Time
    Pick a starting time for your subathon.
  • Time Format
    Various formats like dd:hh:mm available.
  • Currency
    The currency to count donations in. Donations from other currencies will get auto-converted.
  • Enable Time Limit
    Enable a maximum time limit for added contributions. All additional contributions will be ignored once the limit has been reached.
  • Maximum Added Time
    If the time limit has been enabled, choose how much that limit is.
  • Show Limit Reached Indicator
    When the limit has been reached, a little footer shows up on the overlay. You can toggle the visibility for that.
  • Happy Hour Multiplier
    Set the multiplier for all contributions during an active happy hour. 1.00 means 100%, therefore doubles the amount. 0.5 is +50%, etc. I'm sure you'll manage with basic math.
  • Happy Hour Duration
    The duration for the happy hour in seconds. It will disable itself after its time runs out.
  • Affect Combined Goal Contribution
    Toggle whether the happy hour affects the combined goal points contribution as well.

Added Time

Define which events add time and how many seconds they add.

  • Prime
    Prime Subberinos
  • Tier 1
    Tier 1 Subberinos
  • Tier 2
    Tier 2 Subberinos
  • Tier 3
    Tier 3 Subberinos
  • Bits
    Proportional, per 100 bits. Also allows to set your price for Power Ups, so they may contribute accordingly as well :3
  • Donations
    Currency-awareeee, proportional
  • Follows
    You better have my MOD TOOLS installed to disable the Subathon Event Handler in case you get follow botted D:
  • Raids
    Will you set a minimum viewer amount for raids to count and exclude the poor 1-viewer-raids? :(
  • Channel Points
    Contribution cost proportional as well and you may select specific rewards that contribute.
  • Loyalty Points
    Proportionallllll too. Used with the specific command.

Appearance

Change font, colors, shape, icons, and images.

  • Font
    A preselected list of popular Google fonts.
  • Font Color
    Yeah, uhm.. color..
  • Background Color
    ^same
  • Background Transparency
    why am I even explaining these properties?
  • Rounded Corners
    Rounds your corners... or not.
  • Zoom Level
    To make it bigger. Please don't scale it up in OBS and make it blurry :(
  • Follows
    You better have my MOD TOOLS installed to disable the Subathon Event Handler in case you get follow botted D:
  • Icons
    Either select ANY icon from https://icones.js.org/collection/all or straight up insert an image URL. For subs, Tier 1 is the icon the overlay refers to.

Rotator

Configure the rotating info box between countdown and goals. Shows event counts and custom texts.

  • Show Rotator
    Show or hide it completely.
  • Rotator Duration
    The interval between each slide (in seconds).
  • Show Current Goal Counts In Rotator
    All your contributing events will appear in slides and show how much has been contributed already.
  • Rotator
    Allows to define custom slides with text of your choice.

Goals

Define event-tied, general or combined goals.

  • Show Goals
    Show or hide it completely.
  • Goals To Show
    The amount of goals that are visible at the same time. If you have more goals than are visible, it will auto-scroll down.
  • Goals
    Define your goals with their events. It will use the icons you have set in the Appearance tab. Goals with 'No Icon' won't auto-complete.
  • Scroll Speed
    Auto-scroll speed.
  • Pause Duration
    The time it stays on top/bottom before scrolling back.

Combined Goal

With v.1.0.3 you can now define combined goals. Each event adds x points to the combined goal.

  • Enable Combined Goal
    Toggle combined goal tracking.
  • Points Per Event
    Define the amount of contributed points for each event type.

Texts

Edit most overlay texts.

Chat Responses

Edit chat responses. Use a single hyphen to skip a message. Allows to use variables that are listed below each textbox. Reset to default by clicking the icon on the right.

Advanced

Backups, safety toggles, and additional controls. Backups are created regularly while active and on manual end.

  • Safety Pause
    If your stream disconnects or Streamer.bot closes, it'll auto-pause the Subathon for you.
  • Only Add Time When Live
    Don't forget to tick it off when testing the widget off stream.
  • Add Time When Paused
    If unchecked, will skip events while paused. I wouldn't recommend though.
  • Don't Add Time For Tests
    Also affects simulated triggers, so might be worth switching on once you're done testing.
  • Create Local Backups
    Will create backups in your Streamer.bot directory every 15 minutes during an active Subathon, when you end or when you reset. Also track events.
  • Restore Backup
    Restore a backup and seemlessly start where you have left off.

Custom Triggers

Finished / Ended Manually

Fires when the countdown reaches 00:00:00.

Available Variables
Variable
%startedAt_Unix%
Type long
Description

Unix timestamp when the subathon started.

Variable
%endedAt_Unix%
Type long
Description

Unix timestamp when the subathon ended.

Variable
%startedAt_local%
Type datetime
Description

Local timestamp when the subathon started.

Variable
%endedAt_local%
Type datetime
Description

Local timestamp when the subathon ended.

Variable
%baseSeconds%
Type int
Description

Base duration at the start.

Variable
%addedSecondsTotal%
Type int
Description

Total seconds added during runtime.

Variable
%plannedTotalSeconds%
Type int
Description

Final total seconds planned.

Variable
%elapsedSeconds%
Type int
Description

Total seconds elapsed.

Variable
%remainingSecondsAtFinish%
Type int
Description

Remaining seconds when finished.

Variable
%baseFormatted%
Type string
Description

Base time formatted (hh:mm:ss).

Variable
%addedFormatted%
Type string
Description

Added time formatted.

Variable
%elapsedFormatted%
Type string
Description

Elapsed time formatted.

Variable
%plannedTotalFormatted%
Type string
Description

Planned total formatted.

Variable
%pauseCount%
Type int
Description

Number of pauses.

Variable
%pauseTotalSeconds%
Type int
Description

Total paused duration in seconds.

Variable
%pauseTotalFormatted%
Type string
Description

Total paused duration formatted.

Variable
%subs%
Type int
Description

Total subs.

Variable
%primesubs%
Type int
Description

Total Prime subs.

Variable
%t1subs%
Type int
Description

Tier 1 subs.

Variable
%t2subs%
Type int
Description

Tier 2 subs.

Variable
%t3subs%
Type int
Description

Tier 3 subs.

Variable
%bits%
Type int
Description

Total bits counted.

Variable
%donations%
Type int
Description

Total donations counted.

Variable
%follows%
Type int
Description

Total follows.

Variable
%raids%
Type int
Description

Total raids.

Variable
%channelPoints%
Type int
Description

Total channel point redeems counted.

Variable
%loyaltyPoints%
Type int
Description

Total loyalty points counted.

Variable
%secondsAdded_primesubs%
Type int
Description

Seconds added from Prime subs.

Variable
%secondsAdded_t1subs%
Type int
Description

Seconds added from Tier 1 subs.

Variable
%secondsAdded_t2subs%
Type int
Description

Seconds added from Tier 2 subs.

Variable
%secondsAdded_t3subs%
Type int
Description

Seconds added from Tier 3 subs.

Variable
%secondsAdded_bits%
Type int
Description

Seconds added from Bits.

Variable
%secondsAdded_donations%
Type int
Description

Seconds added from Donations.

Variable
%secondsAdded_follows%
Type int
Description

Seconds added from Follows.

Variable
%secondsAdded_channelPoints%
Type int
Description

Seconds added from Channel Point redeems.

Variable
%secondsAdded_loyaltyPoints%
Type int
Description

Seconds added from Loyalty points.

Time Added

Fires whenever an event adds time.

Available Variables
Variable
%eventKey%
Type string
Description

Source type of the event (subs, bits, donations, etc.).

Variable
%addedSeconds%
Type int
Description

Seconds added from this specific event.

Variable
%addedFormatted%
Type string
Description

Added time formatted (hh:mm:ss).

Variable
%addedCount%
Type int
Description

Units in this event (e.g., 42 donations, 3 subs, 500 bits).

Variable
%totalCount%
Type int
Description

Total accumulated count for this event type.

Variable
%currentTimestamp%
Type string
Description

Formatted time at the moment of addition (hh:mm:ss).

Variable
%currentSeconds%
Type int
Description

Remaining seconds at the moment of addition.

Goal Completed

Fires when a goal reaches its required count.

Available Variables
Variable
%goalName%
Type string
Description

Display name of the completed goal.

Variable
%goalCount%
Type int
Description

Final total count that triggered the completion.

Variable
%goalType%
Type string
Description

Contribution category of the goal (subs, bits, donations, etc.).

FAQ & Examples

Does the time stop when the overlay is not active?
No. Time is handled purely by Streamer.bot. The overlay reflects the data Streamer.bot provides. Use the pause action in Streamer.bot if you want to pause.
Does the Subathon timer automatically pause when I stop streaming?
Yes, at least if you did not disable "Safety Pause" in the settings. Whenever you close Streamer.bot or stop streaming, it will automatically pause for you, in case you forget. If your PC crashes however, it will not pause it. In any case though, best practice is to manually make sure you always pause it yourself.
Can I restore progress if something breaks?
Yes. Automatic backups are created every 15 minutes while active and if you decide to manually end or reset it (unless you have disabled that settings). To restore from a backup, go iin the Settings UI → Advanced tab and select a backup file. This restores timer state and event counts. There is also a separate folder with event count backups, in case you need to check how many subs etc. you have received.
Are goals like donations, bits, channel points, and loyalty points added proportionally?
Yes. Proportional addition applies unless you set a minimum amount.
What if someone donates a currency that is inflated as heck?
Donations are automatically converted into your selected currency before adding time.
Can I swap the symbols for thousands separators and decimal places?
Yes, simply add the parameter ?reverseDecimals=true at the end of the URL.
Are combos supported?
Yes. While Streamer.bot doesn't handle combos yet, you can use the workaround action to add time to your Subathon timer and Goalbar goals. For more details, check the discord post below:

tawmae discord (Twitch Combo Support)

Changelog

v1.0.5 latest

  • Changed: Manually adding/removing events now also affects combined goal points accordingly.
  • Changed: Manually adding/removing events now also inherits the happy hour multiplier in case the happy hour is active.

v1.0.4

  • Changed: Improved currency conversion methods.

v1.0.3

  • New: Added combined goals.

v1.0.2

  • New: Added a happy four feature that adds a multiplier to all contributions for a specific time.
  • New: Added an option to limit the contributed time to a set maximum.
  • Fix: Fixed a wrong error message when trying to contribute more loyalty points than current points balance.
  • Fix: Fixed the 'Subathon Completed' chat message not firing once the Subathon finishes.

v1.0.1

  • New: Scroll speed and pause duration options in the Goals tab.
  • New: Polish zloty and Turkish lira currencies.

v1.0.0

  • New: Initial release.

User Reviews

5.0 (6 reviews)

Reviews

Taw products are just superior, not only this beautifull addons, but all of them. He's an extremely precious resource for the streaming community / development. Good job dear!

Absolutly love this one! Tawmae is the goat! Tawmae always delivers perfection!

Just on point when I was looking for a Subathon widget — tawmae delivered! Works flawlessly. Love it!!