Changelogs

Streamer.bot v1.0.0

Next Major Version!

Hey Everyone,

I wanted to give a brief update about Streamer.bot 1.0. At the moment, the current alpha, ‘alpha.36’, seems to be fairly stable. I don’t anticipate many more alpha updates. The good news is that a beta and/or stable release is on the horizon.

Now, I don't like bringing this up, but it’s becoming more of a problem as time goes on. I've been out of work since August 2024. That's almost a year now, and my Patreon for Streamer.bot is the only thing that has been keeping me afloat.

Streamer.bot is going to be turning 5 years old pretty soon, and I've kept it free this entire time (and it will remain free) as a kind of passion project. With new features being added so regularly, Streamer.bot has grown to be so much more than simply something to mess with in my free time. As it is, Streamer.bot, will always be free, this is not changing. Nevertheless, 1.0 will be bringing some new advanced features that will start costing money to implement on the backend, so they will be supporter perks, available to those subscribing at the lowest Thank You Patreon tier. To be perfectly honest – the more support there is on Patreon overall, the more that can be kept free.

Many might not realize, but Streamer.bot isn’t some startup with dozens of developers working on it. It is a registered business in Ontario, Canada. But the programming and development is pretty much a one-man show. (I do get help from Whipstickgostop for everything website-related; I do not want to diminish his contributions in the slightest. Kudos should also go to Lyfesaver and everyone on the support staff as well) Similarly, running Streamer.bot and the supporting website and services also cost money. There are fees related to the code signing certificate, IFTTT, domains, servers, etc. As a business, I do my best to present everything as professionally as possible. While I may not create content on YouTube, Twitch or the like, I still provide a valuable tool for those who do, and I think it's time I hopefully can start benefitting from it.

Thank you, sincerely thank you to everyone who has been using Streamer.bot over the years, it means a lot to see the community that has been built around it, and it still blows my mind that I created something like this. Streamer.bot, and Speaker.bot are not going anywhere and I plan on working on them for years to come.

Yours truly, nate1280 CEO/DEV Streamer.bot

So, here is what's available in alpha.37 available now, for those subscribed to the Bronze Tier on Patreon to use and test!

Kick

Yes, you read that right! Kick is becoming the fourth platform added to Streamer.bot!

After thinking long and hard, and going back and forth on possible implementations of time/cost for getting it done, Kick is being supported, but will require a connection on the website in order to make it work. This means the website is acting as a relay in order to get events from Kick.

While in alpha, any alpha user will have access to it, and once it is released to stable/beta, the Thank You tier on my Patreon will be required to use it, to support the back-end services.

Cloud Backups

While backups have always been created, and more recently you're able to change the backup folder, Streamer.bot 1.0 is bringing Cloud Backups. You will be able to manually create a backup that is stored on the Streamer.bot servers, and can also restore your Streamer.bot from one of these backups.

While in alpha, any alpha user will have access to them with limits based on the Patreon tier they are subscribed at. Once it is released to stable/beta, the Thank You tier will be required with lower limits than the Bronze Tier

Custom Webhooks

Streamer.bot currently supports 4 services through webhooks: Patreon, Kofi, Fourthwall and Shopify. Since Webhooks require an intermediary site with full SSL capabilities typically, Custom Webhooks are being introduced. These will allow you to create your own webhooks to (almost) any site that supports them.

While in alpha, any alpha user will have access to them with limits based on the Patreon tier they are subscribed at. Once it is released to stable/beta, the Thank You tier will be required with lower limits than the Bronze Tier

NOTE There will be a few sites that will be outright denied from creating webhooks for, largely for volume reasons, and this will be monitored for abuse.

Decks 2.0

Yes, Decks 2.0 are also being released! Decks 2.0 will remain mostly free, however there will be some modest limits placed on them, and subscribing to Patreon will increase these limits based on the subscription tier.

New Features

  • UI Converted to WPF
  • Dark Mode
  • Kick Platform support
  • Cloud Backups
  • Custom Webhooks
  • Decks 2.0
  • Nestable sub-action groups
  • Sub-action groups can have their own color!
  • Logic If/Else has been updated, true/false are now groups, and can add sub-actions directly to them
  • New Logic Switch Case sub-action
  • New Logic While sub-action
  • Execute C# Code sub-action now uses the Monaco editor
  • HotKeys are now at a trigger level, and support any combination
  • Add YouTube poll handling for starting and updating.
  • Streamer.bot has been updated to .NET 4.8.1
  • Add new sub-actions for Meld Studio, Set Browser Layer Url and Take Vertival Screenshot
  • Added a User Profile drop down in the Title Bar for your Streamer.bot Account
  • Add new Triggers for Global Variable Created and Global Variable Deleted
  • Add new sub-actions to add YouTube and Trovo broadcaster information
  • Add support for 7TV Zero Width emotes
  • Add new inline function, $parse()$
  • Add ability to change the Backup Folder location
  • Add ability to manually create a Backup
  • Add Auto-Save, this will happen every 5 minutes
  • Add a new context menu item in Global Variable Viewer for Persisted and Non-Persisted user tabs to delete the selected variable for all users
  • Add a warning to Import, when the Import contains an Execute C# Code sub-action
  • Add new Default settings for Actions and Commands
  • Add ability to add a path mapping to the HTTP Server allowing for hosting files
  • All Sub-Actions and Triggers that are editable, now have a ? help button in their dialog that opens the docs site
  • Add a new Trigger, Clipboard Changed, for when data is put on the Clipboard
  • Add a new Sub-Action, Streamlabs Spin Wheel to trigger a wheel spin on Streamlabs

Updates

  • Update common libraries and packages
  • Update Twitch EventSub AutoMod subscriptions
  • Twitch PubSub is no longer used
  • Command Settings are now in the WebSocket payload
  • Logic If/Else sub-action now adds Regex matches/groups as arguments
  • Twitch Add Random User has been updated to work with groups
  • Update YouTube and Trovo Send Message to use the updated fall back options
  • Update Twitch Add Target Info, Add Follow Age, Add VIP, Remove VIP, Add Team Info and Trovo Add Target Info to use the new style of specifying a variable
  • WebSocket DoAction now returns the ID and initial arguments associated with the queued Action
  • Application Crash messages will only show once now, instead of doing a solitaire win move
  • The built in !quote command has been removed and replaced with new sub-actions
  • How to favourite/unfavourite a Trigger or Sub-Action has changed, you now do this directly on a Sub-Action or Trigger that you've added
  • Move HTTP Get Methods to /api/
  • Start monitoring for USB Removal on demand if there are Midi devices configured
  • Twemoji was updated to v16.0.0
  • Update Voicemod Client to support Voicemod v3
  • Require Voicemod v3.12 as minimum version
  • Add a manual check for System.Linq using, and auto add the System.Core.dll reference when using Find Refs
  • Add addTargetResult argument to Add Target Info sub-action when it is successful
  • First Word triggers, are now under Chat instead of General for Twitch and Trovo

Fixes

  • General fixes and tweaks, too many to track over the course of 3 months
  • Fix adding Trovo Broadcaster info to args, they were flipped
  • Fix Twemoji parsing related to the Variation Selector-16 unicode value
  • Fix Twitch SevenTV Emote Removed sub-action, wording said added

Details

Surprise! This has been 3 months in the making, but there is finally a new UI in town, and it's been completely re-written in WPF. This means I'll have so much more flexibility. In addition to that, there is now a Dark Mode, the most requested feature.

Now for the bad news, I have not tested this, so I'm not sure how this will effect extensions that use custom designed WinForms dialogs for settings and such. The conversion to WPF is quite simple, and I will likely post a small template at some point to get you started.

Now, this is an alpha, this means there will be bugs, that is the whole point of it entering this stage first. If you wish to use this as your daily driver, be aware, things may or may not function correctly.

Want access to alpha, subscribe to nate1280's Patreon. alpha access now starts at Bronze Tier or higher.

Sub-Actions

Sub-actions got a bit of an overhaul as well, before, groups could only be top level items, now, they can be nested as much as you want, more flexibility when using the random option on a group now.

Logic If/Else

Logic If/Else has received a power-up, no longer do you need to specify an action to run for the true/false parts, you can now just add your sub-actions directly to the true/false groups, and because these are containers, that means you can nest groups as well.

Logic Switch

New with this release is a new Logic sub-action, the Switch Case. Same applies to this sub-action, add your logic switch, and you can add case groups, which can in turn have sub-actions nested in them

Logic While

New with this release is the Logic While sub-action. Yes, that means you can finally perform loops within a single action without needing C#!

Inline Function,

A new function has been added, $parse()$, that will allow for a 2nd level of variable parsing.

This would be of benefit for the newly added Logic While sub-action.

As an example, ff you are using the global ~idx~ as your test variable, and incrementing this within the while loop. You would then be able to use the inline method like $parse(rawInput~idx~)$ which would internally parse to %rawInput#%, and finally would return the value of the %rawInput#% argument. In this example, rawInput is the argument you're wanting to get an indexed position of, this is typically used in most Message based triggers

Twitch

Twitch PubSub is being deprecated in April, so that means it's finally time to remove PubSub from the connection list for the Broadcaster Account.

What this means, the Ad Mid Roll sub-action no longer exists (to this day, still really don't know what it did), Channel Point Community Goals will cease to work until they're added to EventSub, and the Viewer count pulse has been updated to use other methods.

Twitch Shared Chat

Handling of Twitch Shared Chat has been updated a bit, there are now 3 arguments added to most Twitch events.

  • isInSharedChat - This will indicate if the event happened while in a Shared Chat,
  • isSharedChatHost - This will indicate if the Broadcaster is the host of the Shared Chat,
  • isFromSharedChatGuest - This will indicate if the event is from a Shared Chat's Guest's Channel, These 3 arguments are in all Shared Chat events, as well as the non-shared chat event counter parts.

Quotes

Quotes got a small overhaul, the built in !quote command is no more, it has been replaced with various sub-actions, so you now have full control over adding, deleting quotes by any means.

HTTP Server

You read that right, you can now serve local files with the HTTP Server! Simply add a Path Mapping to the HTTP Server settings, and you can access any file/folder from that Mapping.

The current methods are being moved to an /api/ prefix, and they will continue to work for now but consider them deprecated, and will eventually be removed. Be sure to update any usages to use the /api/ equivalent.

Voicemod

The Voicemod integration has been udpated to support v3, and version 3.12 is now the minimum required version for the integration.

With the update, the Voicemod Set Censor State sub-action was removed, as well as 2 C# methods, VoiceModCensorOn() and VoiceModCensorOff(), as the methods for these no longer work.

Kick Platform

Yes, you read that right, as of alpha.37, Streamer.bot now supports Kick as an official platform. Be sure to read the previous information in alpha-releases or announcements.

Overall the Kick API is still a bit of a mess, and everything that can be implemented has been. And as mentioned, to use this platform integration, you must link your Kick account on the website as well!

There are new sub-actions and triggers for Kick, support for Kick Message as a Command source, Kick will show up in the chat as well as obs overlay chat.

Cloud Backup

You will be able to manually create backups that are encrypted and uploaded to Streamer.bot's* website, as well as being able to restore from these backups.

Custom Webhooks

You will be able to create custom webhooks, and have the data forwarded to your Streamer.bot, much like the existing webhooks, except they can be used for any site that supports webhooks. This feature will be monitored for abuse and limits put in place if anything like this is detected

Decks 2.0

They've been teased for a while, but Decks 2.0 are also here! This includes a handful of sub-actions to interact with the decks themselves, much like Elgato Stream Deck

New Website

Whipstickgostop has been hard at work, and there is a new website that launched alongside this update, both as a refresh and to support all the new features.

C# Changes

The following C# methods have been updated to account for the new useBot and fallback options.

void SendYouTubeMessage(string message, bool useBot = true, bool fallback = true, string broadcastId = null);
void SendYouTubeMessageToLatestMonitored(string message,bool useBot = true, bool fallback = true);
void SendTrovoMessage(string message, bool useBot = true, bool fallback = true);