Changelogs

Streamer.bot v0.1.17

Released 2022-01-20

New Features

  • Add 3 new C# methods to remove the cooldown of a command
  • Add 3 new C# methods to Add To, Remove and Reset a user's cooldown that takes a string for the user id
  • Add 3 new C# methods for handling adding, removing and checking if user is in group for string user ids
  • Add new Websocket Event, ActionCompleted
  • Ability to directly rename an Action Group, without having to edit every action
  • Add filter to user permissions in Command Dialog
  • Add 4 new sub-actions to Add, Remove, Clear and Set Twitch Tags
  • Add 4 new C# methods to Add, Remove, Clear and Set Twitch Tags
  • Add 2 new Twitch events, StreamOnline and StreamOffline
  • StreamElements, add a new %provider% variable to Tip and Merch events (can be twitch, youtube or streamelements)
  • StreamElements, add a new %tipId% variable to the Tip event, this is StreamElements's internal tip id value
  • Add new C# method to get how many channel points a user has used, Twitch only
  • Add new sub-action to clear users from a group
  • Add new C# method to clear users from a group
  • Add new argument to all actions, %actionQueuedAt%, this is when the action was queued
  • Add 2 new sub-actions for resetting reward counts
  • Add 4 new C# methods for resetting reward counts
  • Add an Auto Type option to the Set Argument sub-action, if disabled, the value will be treated as a string
  • Add ability to rename a Command group
  • Add ability to rename a Twitch Reward group
  • Add 2 new sub-actions to Set the Enabled and Paused state of a Twitch Reward group
  • Add 6 new C# methods to set the Enabled and Paused state of a Twitch Reward group
  • Add new sub-action to send a Twitch Shoutout, located under Twitch -> Moderation
  • Add 2 new C# methods to send a Twitch Shoutout
  • Add new event for when you (the broadcaster) receives a Twitch Shoutout from another user
  • Add 2 new sub-actions to Start and Cancel a raid on Twitch

Updates

  • Twitch User IDs are now string across the entire application
  • Twitch Channel Shield Mode EventSub events are out of beta, updated this internally
  • Twitch Charity Donation event now includes the id of the donation, this has been added as a new arg %donationId%
  • Updated Twitch Add Target Info to include tags
  • YouTube based events have a %broadcastId% variable now
  • Events that add primary user information, now have a %userPreviousActive% variable
  • StreamElements, linked the YouTube provider events
  • Harden file saving routines
  • Move Twitch Channel Reward counters to the twitch data db file
  • Improvements to the auto-updater, cancellation support and timeout. NOTE This won't be useable until the next update.
  • Disable and remove Twitch Coin Cheer events, since Twitch halted this experiment October 2022
  • Enabled, Disable, Pause and Unpause Twitch Reward group context menu items no longer waits for each API call
  • Update handling/broadcasting of Action start/completed
  • Request new moderator:manage:shoutouts scope
  • Switch Twitch Shoutout Created event internally to new Twitch EventSub event
  • Twitch Charity EventSub Events have been moved out of beta status
  • Fix variables shown in the TipeeeStream tip event help button
  • Wired up all the ? buttons for YouTube events

Fixes

  • Fix some typos
  • CPH Method, EnableTimer was not correctly resetting a timer
  • SetTimerState sub-action was not correctly resetting a timer's line counts
  • Regression, was not listening for Twitch Community Goal events
  • Issue with collapsing all action groups
  • Disable OK button in Set Argument sub-action dialog when loaded, so it gets validated properly
  • Fix Twitch HypeTrain end event, was missing %contributors% variable
  • Fix command group collapsing
  • Fix initial collapsed states of Command Groups
  • Fix initial collapsed states of Twitch Reward Groups
  • Fix start raid C# method

Details

Websocket Events

ActionCompleted

0.1.17 introduces a new Raw event, ActionCompleted. Subscribing to this event in the Websocket Server will get you information when an action is completed.

New Sub-Actions

Twitch Add, Remove, Clear and Set Channel Tags

Yes, Twitch finally added the ability to manipulate the new tags!

The Clear Channel Tags sub-action has no input, and will just clear your tags.

The Add, Remove and Set Channel Tag sub-actions all support variables.

The Add Target Info adds the following new arguments:

NameDescription
tagCountThe number of tags
tag#The tag at index position #
tagsA List<string>() object for use in C#
tagsDelimitedA comma delimited string of the tags

At the moment, there is a bug in the Twitch Helix endpoint, where its unable to clear the tags completely. So for the time being Clear Tags and Removing the last tag will fail. Once Twitch fixes this, they should start working.

If you keep at least 1 tag active, you'll be able to add/remove tags at will. And for setting all tags, at least 1 needs to be set.

Twitch Send Shoutout

This is a basic sub-action, either use a variable, or a fixed user login to send a shoutout to the user.

You may send a Shoutout once every 2 minutes, and to the same broadcaster once every 60 minutes.

Clear Users From a Group

This sub-action will allow you to select one of your groups, so you can clear the users belonging to it during an action

Twitch Start and Cancel Raid

Since the C# methods for this have existed for a bit, adding in sub-actions to perform this now as well.

Updated Events

Twitch Shoutout Created

With the Shoutout events being added to EventSub, this event has been moved from PubSub to EventSub, this unfortunately changes some of the variables. This Event has also been moved to the Moderation tab

Variables Removed

  • %targetUserPrimaryColorHex%
  • %targetUserProfileImageURL%

Variables Added

NameDescription
viewerCountThe number of users that were watching the broadcaster’s stream at the time of the Shoutout.
cooldownEndsAtThe DateTime of when the broadcaster may send a Shoutout to a different broadcaster.
targetCooldownEndsAtThe DateTime of when the broadcaster may send another Shoutout to the same broadcaster.

New Events

Twitch StreamOnline and Offline events

For the new Twitch StreamOnline event, this will not be triggered if you are online and Streamer.bot connects to your Twitch account.

StreamOnline Event arguments

NameDescription
startedAtThe date, time the stream went online
gameThe category name
gameIdThe category id
tagCountThe number of tags
tag#The tag at index position #
tagsA List<string>() object for use in C#
tagsDelimitedA comma delimited string of the tags

StreamOffline Event arguments

NameDescription
endedAtThe date time when the stream went offline

Twitch Shoutout Received

With the new EventSub events for Shoutouts, Streamer.bot can now react to receiving a Shoutout

This event is sent only if Twitch posts the Shoutout to your activity feed.

Shoutout Received Event Arguments

NameDescription
%viewerCount%The number of users that were watching the from broadcaster's stream at the time of the Shoutout

New C# Methods

void CommandRemoveGlobalCooldown(string id);
void CommandRemoveUserCooldown(string id, int userId);
void CommandRemoveAllUserCooldowns(string id);
void CommandResetUserCooldown(string id, string userId);
void CommandRemoveUserCooldown(string id, string userId);
void CommandAddToUserCooldown(string id, string userId, int seconds);
bool UserIdInGroup(string userId, string groupName);
bool AddUserIdToGroup(string userId, string groupName);
bool RemoveUserIdFromGroup(string userId, string groupName);
bool TwitchClearChannelTags();
bool TwitchSetChannelTags(List<string> tags);
bool TwitchAddChannelTag(string tag);
bool TwitchRemoveChannelTag(string tag);
long TwitchGetChannelPointsUsedByUserId(string userId);
bool ClearUsersFromGroup(string groupName);
void TwitchResetRewardCounter(string rewardId);
void TwitchResetRewardUserCounters(string rewardId);
void TwitchResetUserRewardCounters(string userId, bool persisted);
void TwitchResetUserRewardCounter(string rewardId, string userId);
void TwitchRewardGroupEnable(string groupName);
void TwitchRewardGroupDisable(string groupName);
void TwitchRewardGroupToggleEnable(string groupName);
void TwitchRewardGroupPause(string groupName);
void TwitchRewardGroupUnPause(string groupName);
void TwitchRewardGroupTogglePause(string groupName);
bool TwitchSendShoutoutById(string userId);
bool TwitchSendShoutoutByLogin(string userLogin);