# Subathon Countdown Timer

**URL:** <https://extensions.streamer.bot/t/subathon-countdown-timer/392>\
**Category:** Approved\
**Tags:** obs, twitch\
**Created:** [October 11, 2023, 2:51pm UTC](https://extensions.streamer.bot/t/subathon-countdown-timer/392 "2023-10-11T14:51:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rondhi](https://extensions.streamer.bot/user_avatar/extensions.streamer.bot/rondhi/32/24_2.png) [@rondhi](https://extensions.streamer.bot/u/rondhi)\
**Post date:** [October 11, 2023, 2:51pm UTC](https://extensions.streamer.bot/t/subathon-countdown-timer/392/1 "2023-10-11T14:51:57Z")

</div>

## Description

Using this extension you can now run a Subathon on your stream easily. Each Twitch Subscription, Re-Subscription, and Gift Sub will add time to the timer

## Import Code

[subathonCountdownTimer\_v2.0.2\_free.sb](https://extensions.streamer.bot/uploads/short-url/vPdcLpJsG0jKqOWzsCYomOQedBS.sb) (19.8 KB)

## Installation

1. Download the .sb import code
2. In Streamer.bot, open the `Import Dialog`
3. Open the folder where you saved the import code and drag and drop the .sb file into the `Import String` box  
 ![image](https://extensions.streamer.bot/uploads/default/original/1X/fb310f1d49c9165d014e4987a19d51ac3e6d6a69.png)
4. Click `Import`

## Configuration

### Streamer.bot Configuration

#### Subathon Configuration and Start

Any of the Set Argument subactions that require a duration can use the following syntax:  
`d for days, h for hours, m for minutes, s for seconds`  
Examples: `5d4h3m`, `1h30m`, `5m`, `1h`

| Name | Description | Example |
| --- | --- | --- |
| initialSubathonDuration | Set to how long you want to start your stream | `3h` |
| maxSubathonDuration | Set to how long you want the limit of your subathon to be | `2d` |
| subathonObsConnectionGlobal | Set to the zero-indexed connection number found in `Stream Apps > OBS` | `0` |
| subathonScene | Set to the name of your nested ncene that will house the text source for the timer | `[NS] SubathonTimer` |
| subathonSource | Set to the name of your text source that will display the countdown timer | `[TS] SubathonCounter` |
| subathonSendMessageTo | Set to which platform you want to send to. `twitch`, `youtube`, or `both` | `twitch` |
| subathonSendAsBot | Set to true if you want to use your bot account to send messages. False, otherwise | `True` |

 ![image](https://extensions.streamer.bot/uploads/default/original/2X/c/cd81c922ac9025707da187b7ec7dd93d61c505ac.png)

#### Message Configuration

- Most actions will be able to have a customized chat message
- Each action will show which arguments are available
- The following arguments are available with all actions that have message customization available:

| Argument Name | Format |
| --- | --- |
| %countdownElapsedLong% | `x days x hours x minutes` |
| %countdownElapsedShort% | `x days 00:00:00` |
| %countdownRemainingLong% | `x days x hours x minutes` |
| %countdownRemainingShort% | `x days 00:00:00` |
| %maxDurationLong% | `x days x hours x minutes` |
| %maxDurationShort% | `x days 00:00:00` |

### OBS Configuration

#### Source Copy Import

- If you have the [Source Copy OBS Plugin](https://obsproject.com/forum/resources/source-copy.1261/) installed, you can use the following file to import the scene with default names  
[subathonScene.json](https://extensions.streamer.bot/uploads/short-url/uLZiKXSL5bulWorYyvAhUHV3oqB.json) (2.2 KB)

#### Manual Scene/Source Creation

1. Create a scene and name it what you named it in the Streamer.bot action. `[NS] SubathonTimer` by default (NS is short for nested scene)
2. In that newly created scene, create a text source with what you named it in the Streamer.bot action. `[TS] SubathonCounter` by default (TS is short for text source)

- Feel free to format the font, style, and transform however you like. For best results, use a mono-space font and align to the right
- When the timer is running, it will automatically update the text source with the time left in the subathon
- You may add this nested scene into any other scenes as a source. For more information: watch this video: [Nutty explains OBS Nested Scenes - YouTube](https://www.youtube.com/watch?v=1RdmaEjuknQ&t=99s)

### Twitch Sub Tier Configuration

- `Subathon Twitch Sub Tier 1 Config`  
 ![image](https://extensions.streamer.bot/uploads/default/original/2X/6/6dcb054c97de7671a019de8a1a32c59bd3387c0e.png)

- `Subathon Twitch Sub Tier 2 Config`  
 ![image](https://extensions.streamer.bot/uploads/default/original/2X/3/35f7107294d36e985f5b7292124147a395e48e3b.png)

- `Subathon Twitch Sub Tier 3 Config`  
 ![image](https://extensions.streamer.bot/uploads/default/original/2X/4/4f68503a88b6f1ea64152bded0f08ff7849710ee.png)

## Usage

### Commands

Imported commands are disabled by default as a security measure. Please make sure to enable the `!subathonStart` and `!subathonResume` command. The other commands will be enabled when you start the subathon.

| Command Name | Description | Note |
| --- | --- | --- |
| !subathonStart | Start the subathon | You need to enter it twice to confirm overwriting an existing subathon |
| !subathonCancel | Cancel the subathon | You need to enter it twice to confirm overwriting an existing subathon |
| !subathonPause | Pause the subathon | |
| !subathonResume | Resume the subathon | You can resume even if you’ve restarted Streamer.bot or if it crashed |
| !subathonAdd x | Add time to the subathon | Use this format: `d for days, h for hours, m for minutes, s for seconds` / Examples: `5d4h3m`, `1h30m`, `5m`, `1h` |
| !subathonElapsed | Chat message to see subathon elapsed time | |
| !subathonRemaining | Chat message to see subathon remaining time | |
| !subathonProgress | Chat message to see current subathon progress | |

Action `Subathon Done Action` will be triggered once the timer runs out.
