Streamer.bot v1.0.5
What's new in Streamer.bot version 1.0.5
It's that time again, another Streamer.bot alpha is upon us!
The biggest change for this alpha is the removal of the Twitch IRC connection and switching over to EventSub for the last remaining events.
As always, these are alpha releases, while I do try to release relatively stable versions, the nature of alpha can introduce instability.
Breaking Changes
With finally moving Twitch Chat from IRC to EventSub, the legacy Message object in a Websocket payload has finally been removed, as it has been deprecated for a while.
New Features
- Move Twitch chat handling from IRC to EventSub
- Move Twitch Watch Streak event to EventSub
- Add handling for YouTube's Jewel Gifting events
- Add new trigger for YouTube Jewels Gifted
- Add new C# method, KickDeleteMessage
- Streamer.bot's HTTP Server is now using Kestrel
- Add a new Twitch Pyramid option, Shared Chat Participation
- Handling and tracking for First Message is now handled internally
- New save routines for data files
- Set culture info based on system culture for all existing and new threads
- Updates to variable/method parsing
- Add Twitch Custom Power-Ups
- Add a data repo for YouTube
- Add YouTube Super Chats, Super Stickers and Jewels Gifted to new YouTube data repo
- Split
YouTube User Bannedtrigger intoUser BannedandUser Timedout - Add
Durationcriteria toYouTube User Timedouttrigger - Add 'Count
criteria toKick Mass Gift Subscription` trigger - Add a follow check to
Kick Followtrigger, behaves the same way asTwitch, limits triggering to once per run - Add support for
Twitch Message Pinning - Add 4 new sub-actions for
Twitch-Get Pinned Chat Message,Pin Chat Message,Update Pinned Chat Message Duration, andUnpin Chat Message - Add 5 new
C#methods to supportTwitch Message Pinning - Add polling for new
YouTube Subscribers, this check will happen every 10s - Add new integration
Streamloots - Add 3 new triggers for
StreamLoots - Add new integration
StreamFog - Add 6 new sub-actions for
StreamFog
Updates
- Remove Trovo platform
- Add new scope for Kick, you will need to re-login
- Update some Kick Trigger Test methods
- Update the error message shown when there is a mismatch in scopes for most services
- Add some additional connection check logic for Kick
- Add some additional logging in various spots
- Add commandLocation argument to Commands
- Update Kick commandType to message
- Move Twitch SubCounter handling to Twitch EventSub events
- Move Twitch Credit event handling to Twitch EventSub events
- ExecuteCodeTrigger Websocket method passes arguments to the Websocket event payload broadcast
- Update Kick Categories API to use v2 endpoint
- Some general cleanup, trimming unused/old code
- Update websocket-sharp, re-sync the codebase to latest
- Re-work parsing for variables and functions app wide
- Add some missing arguments to
Twitch Followtrigger, and updateWebsocketpayload - Add missing
%count%toKick Mass Gift Subscriptiontrigger - Add
Twitch Channelinfo for theBroadcasterwhen usingTwitch Add Broadcaster Infosub-action Twitch Channelinfo will be added automatically alongside existingBroadcasterdata when aTwitchbased trigger occurs- Add
Kick Channelinfo for theBroadcasterwhen usingKick Add Broadcaster Infosub-action Kick Channelinfo will be added automatically alongside existingBroadcasterdata when aKickbased trigger occurs- Update
Execute C# MethodUI dialog,Execute C# Codesub-action list is now sortedA-Z - Update
Execute C# MethodUI dialog, will only listpublicmethods, and sort themA-Z - Update
Execute C# MethodUI dialog, both combo boxes are now text searchable Twitch Send Messagesub-action has been updated with a newPinoption- Update
YouTube New Subscribertrigger to come fromYouTubeand no longer needingStreamElements
Fixes
- Fix OBS Set Color sub-action dialog Test button
- Fix setting the blocking state of the Default Queue not applying until restart
- Fix Streamer.bot Remove Instance Disconnected trigger adding a Connected trigger
- Fix a crash related to using
Logitech SetPointand horizontal scrolling - Fix a crash when trying to search for users from some dialogs
- Fix Twitch EventSub Connect button not updating correctly when retrying
- Fix crash when clicking ? in Twitch Raid trigger dialog
- Fix Kick not being initialized when running headless
- Fix YouTube Gift Membership Received event not setting the Tier
- Fix potential crash when testing Kick Reward Redemption
- Fix Voice Control Confidence Threshold setting in the UI
- Fix a UI issue in Platforms -> Kick
- Fixes to Kick Chat Client connection check methods
- Fix toggling Persist User Counter for Kick Channel Rewards, UI was misbehaving
- Fix Confidence Threshold for Voice Control -> Settings
- Fix Twemoji handling, there were some cases where images were not being set correctly
- Fix when
Importing Queuesnames were not overwritten correctly - Fix issue when handling new
QueuesinImports - Fix removing a default
YouTubetag not updating the UI
Details
HTTP Server
The internal HTTP server has been udpated to use the more modern Kestrel packaging. The biggest benefit of this is the net sh command is no longer needed and should work for any IP, port, etc. As well as speed and handling improvements.
Data Files
Yes, I know, the file corruption is a nusence, it's been my top priority for a while. Saving data files is one of the most basic operations within Streamer.bot, so the file corruption has been puzzling and I will continue to try and resolve this. With this alpha there is some new handling that may take care of the corruption due to split second file locks the could've caused issues.
Twitch
With Twitch finally adding Watch Streak to EventSub, it was time to move fully to EventSub. Streamer.bot is now full EventSub for all Twitch events.
The First Message flag is not available in EventSub data, so with this alpha, the First Message data will now be tracked internally. Any users moving forward will be handled, and this will expand to Kick and YouTube in a future alpha.
Twitch Custom Power-Ups
Twitch is starting to surface this feature in the API and in EventSub, however, there are only 2 usable endpoints at the moment.
So right now, there are no real-time updates when you add/edit/delete a Custom Power-Up, and there are no endpoints to add, edit or delete Custom Power-Ups.
When Twitch adds these endpoints, an update will likely follow with the new features.
Also note, in order to use these your channel must have access to Custom Power-Ups, since they are still in BETA not everyone is going to have access.
Custom Power-Ups will be retrieved when connecting to Twitch, and you can also right click in the Custom Power-Up list and refresh from Twitch within the UI
Twitch Message Pinning
Figures, Twitch releases new APIs on Friday, after I have finished for the weekend.
This alpha adds support for the new Message Pinning APIs.
There are 4 new sub-actions that can be used to manipulate pinned messages, as well, Send Message has been updated with a new Pin option, to send and pin the message. When this is enabled, you will only be able to enter 1 line of text, as you can only pin 1 message at a time.
There are also 5 new C# methods that can be used in your Execute C# Code sub-actions.
NOTE there are no events (yet) for when messages are pinned/unpinned
New C# Methods
void TwitchSendAndPinMessage(string message);
PinnedMessageData TwitchGetPinnedMessage();
bool TwitchUnpinMessage();
bool TwitchUpdatePinnedMessageDuration(int? duration = null);
bool TwitchPinChatMessage(string messageId, int? duration = null);
There are also a handful of classes that have been added.
Trovo
Trovo is no longer offering Live Streaming services, as such, Trovo has been removed from Streamer.bot. The C# methods currently remain to minimize issues, but will also be removed by full release.ate your code accordingly and any shared code, as by release, these methods will be removed.
YouTube New Subscribers
I've removed the dependancy of StreamElements for the YouTube New Subscriber trigger, this now works completely from YouTube
Because it is using older APIs, this has to be polled, and I've currently set this at every 10 seconds, this may change between now and beta.
NOTE
You will not get a New Subscriber event for Users that have their Subscriptions Private, and/or if the Google account does not have a YouTube Channel created.
StreamLoots
New integration time! I know this has been requested for quite a while, well, non time like the present to get it added in.
With this, there are 3 new triggers:
Pack PurchasedPack GiftedCard Redeemed
I know there are more events/alerts from StreamLoots, these are the ones I was able to send tests for from the StreamLoots website.
There are likely still some changes that will happen to the 3 triggers that have been added.
As a request, if you use StreamLoots on your stream, I would like your logs, even for the above 3 events, to make sure real events match what I was able to get from testing, and hopefully to get events that I was not able to get, like Tips and Auction.
StreamFog
New integration time! This has been requested for a bit, and still requires some work with StreamFog to get it polished.
With this, there are 3 new sub-actions:
Activate LensActivate Lens by NameDeactivate LensActivate OutfitActivate Outfit by NameReset Look
This integration is still a bit fluid, and there maybe further changes.