github crowbartools/Firebot v5.65.0-beta1
Release v5.65.0-beta1

pre-release3 hours ago

Note

Due to Twitch API changes, sub gift events no longer include the total number of months the recipient has been subscribed to the channel. Therefore, the $giftSubMonths variable and the months parameter of the $giftReceivers variable have been deprecated in Firebot.

✨ New

  • Overlay Alert Effect! Have you ever setup an alert that plays on stream whenever something cool happens, like a follow or sub, but had to setup multiple effects just to show the one alert? Not anymore! We've added the new Overlay Alert effect that rolls a bunch of features into one simple action. Using this effect, you can display an image or video, text with color-accented fields, and even play a sound all at once! If you've created or used overlay alerts on other platforms before, this should feel very familiar.
  • Overlay Widgets! This long-awaited feature is finally here! These are persistent items that stay on your overlay. Many of them are great for tracking things like channel goals or subathons, but you can use them however you like. In this first release, we've added several simple overlay widgets to get you started, or if you want to get extra creative, you can supply specific HTML and JavaScript to create your own Custom Widgets that you can tweak exactly the way you want. We're looking at adding additional widget types in the future, so stay tuned! Here are the widget types available in this release:
    • Countdown Timer
    • Countdown to Date
    • Counter Display
    • Current Date/Time
    • Custom Widget
    • Custom Widget (Advanced)
    • Progress Bar
    • Text
  • New Firebot profile page! Beginning with Firebot 5.65, anytime a viewer uses the !commands command, they'll be directed to a new Firebot profile page that's easy to remember - because it's your Twitch username! Check it out here
  • Effect List Run Modes! All effect lists can now set their own run mode. Starting with this release, effect lists can be set to Random or Sequential. The Random run mode will replace the Run Random Effect effect and the Sequential run mode will replace the Run Sequential Effect effect.

Note

Starting in Firebot 5.66, we will hide the Run Sequential Effect and Run Random Effect effects. These will continue to work if they've already been setup, but we highly recommend migrating to the new effect list run modes immediately.

  • Webhooks! [EXPERIMENTAL] Thanks to the new Crowbar API service that powers the new profile page, you can now receive webhooks in Firebot! When you add a new webhook, the service will assign it a URL that you can use with services that support sending webhooks.
    • Wanna see webhooks in action? Check out the brand new Ko-fi, Fourthwall, and GitHub plugins!
    • Please note that this feature is experimental and may experience issues as we continue refining it.
  • Effect Queue Monitor! You can now view the effects in your effect queues in real time. You can even pause or clear them if necessary. (#2817)
  • Dashboard Settings! We know that chat settings could be hard to find and needed a little updating, so we added a brand new Dashboard page to Settings. These contain all the settings that were in the previous chat settings popup, but redesigned and with added options to quickly edit Quick Actions and the Activity Feed, plus a new option to reverse the order of chat messages on the Dashboard. Still want access to those settings from the Dashboard? No problem! The Dashboard settings button is now bigger and easier to find. (#3205) (#3133)
  • Global Values! These are static values that are available from any trigger type via a variable (like $!myGlobalValue), whether it's commands, events, timers, etc. You can use global values for anything, from commonly reused words/phrases to sensitive data like API keys. These can be configured from Settings > Advanced > Global Values. (#3114)

Caution

While secret values aren't displayed on screen in the Firebot UI, the value itself is stored in your settings.json file in plain text and will be inserted anywhere you use the variable, so as with any other sensitive data, exercise caution when using/displaying it.

  • Support for Shared Chat Messages in the Dashboard!
  • Support for Shared Hype Trains and Treasure Trains!
  • Support for Twitch Power-Ups! (#3208)
  • Added Manual effect queue type (#2818)
  • You can now choose which account (streamer or bot) will perform moderation actions (chat deletes/clears/mode changes, bans/timeouts, shoutouts, Shield Mode) (Settings > Advanced > Default Moderation User) (#2152)
  • Quotes can now be exported to a CSV file via the Quotes page (#1692)
  • The !commands command now supports a default command sort tag option for the profile page (#2858)
  • New !command import subcommand to import effect lists via a share code (#3256)
  • Streamer account can now optionally bypass command cooldowns (Settings > Triggers > Streamer Account Exempt From Cooldowns) (#3218)
  • You can now choose to display custom roles or ranks next to a viewer's name in chat on the Dashboard (#3200)
  • You can now export viewers, currencies, and ranks
  • You can now specify a reason when using the Ban and Timeout effects (#3316)
  • Binary data support: The HTTP Request & Play Sound effects and $readFile variable now support raw binary data (#3202)
  • Added the following new effects:
    • Copy Text to Clipboard
    • Enable/Disable Shield Mode
    • Hide Message In Chat Feed
    • Highlight Message in Chat Feed
    • Retrigger Last Activity
    • Send Message to Custom Widget
    • Set Custom Widget State
    • Show Toast Notification
    • Switch Statement
    • Sync Data to Profile Page
    • Toggle Overlay Widgets
    • Trigger Manual Effect Queue
    • Update Countdown (Dynamic)
    • Update Overlay Widget Settings
    • Update Progress Bar
  • Added the following new events:
    • Channel Reward Redemption: Choose an Emote to Unlock
    • Channel Reward Redemption: Highlight My Message
    • Channel Reward Redemption: Modify a Single Emote
    • Channel Reward Redemption: Send a Message in Sub-Only Mode
    • Channel Reward Redemption: Unlock a Random Sub Emote
    • Hype Train Level Up
    • Outgoing Raid Started
    • Outgoing Raid Canceled
    • Power-up: Gigantify an Emote
    • Power-Up: Message Effects
    • Power-up: On-Screen Celebration
    • Webhook Received
  • Added the following new variables:
    • $atob
    • $base64Decode
    • $base64Encode
    • $btoa
    • $chatUserCount
    • $eventData
    • $formatDuration
    • $gigantifiedEmoteName
    • $gigantifiedEmoteUrl
    • $hypeTrainPreviousLevel
    • $isAnonymous
    • $isChannelLive
    • $isSharedChatEnabled
    • $isSharedTrain
    • $isTreasureTrain
    • $joinDate
    • $lastSeen
    • $latestClipUrl
    • $latestFollower
    • $lifetimeGiftCount
    • $objectKeys
    • $randomClipUrl
    • $scanWholeMessage
    • $sharedChatParticipants
    • $sharedChatSourceDisplayName
    • $sharedChatSourceUser
    • $sharedChatSourceUserId
    • $sharedChatSourceUsername
    • $sprintf
    • $twitchVodUrl
    • $webhookHeader
    • $webhookId
    • $webhookName
    • $webhookPayload
  • Added the following new filters:
    • Channel is Live
    • Countdown Timer (Dynamic)
    • Lifetime Gift Count
    • Shared Train
    • Triggered Command
    • Treasure Train
    • Webhook
  • Added Limit Per Stream restriction for commands, similar to Twitch's built-in restriction for Channel Rewards (#3113)
  • New Purple Sky UI theme in memory of CKY 💜

🛠️ Improved

  • Several UI Updates! Several parts of the Firebot UI have been completely redesigned, including custom commands, Effect Lists, Dashboard and Quick Action settings, and much more! We've also made several other UI improvements, including rearranging a couple of items on the sidebar to better group them with related features.
  • Expanded emote support! The Dashboard now has an option to preload ALL the emotes your streamer and bot accounts have access to on Twitch. That means emotes you have from subscribing to other channels, unlocked via hype trains, special events, and more!

Important

Because of the potentially large number of emotes this can load, it may take several seconds after you connect to chat for emotes to appear in autocomplete. Also, if you change this setting, it will take effect the next time you connect to chat. That means if you're already connected when you change it, you'll need to disconnect, then reconnect.

  • Release Notes can now be found under the Help menu
  • The chat emote autocomplete preview now includes animated emotes where available
  • Several events have been moved to EventSub:
    • Chat Message Deleted
    • Community Subs Gifted
    • Gift Sub Upgraded
    • Prime Sub Upgraded
    • Sub Gifted
  • Community Subs Gifted event behavior is now much more reliable (#2186)
  • Outgoing Raid event is now called Outgoing Raid Completed to differentiate from new outgoing raid events
  • Commands now have an option to only trigger when channel is live (#2703)
  • Firebot Setup options (create, import, remove) have been moved from Settings to the File menu
  • The Chat Message event now supports the following variables when the message triggers a command:
    • $arg
    • $argArray
    • $argCount
    • $commandTrigger
    • $count
    • $target
  • Channel Rewards are now available to onboarded streamers (#3214)
  • The Viewers page remains visible so that users know it exists, even when the viewer database is turned off
  • When opening a viewer card, Firebot now saves a viewer's updated username and display name to the viewer database if it's been changed
  • The Purge Viewers button has been moved to the Viewers page (#1568)
  • You can now purge viewers that have been banned (#1568)
  • You can now configure the icon in the Chat Feed Alert effect (#3157)
  • The Chat Feed Alert effect also now supports markdown
  • The Create Stream Marker effect now supports outputs (#2804)
  • You can now duplicate an If/Else If clause in the Conditional Effects effect (#2099)
  • Variables that may contain sensitive data are now indicated as such in the variable picker (#3263)
  • Variable usage examples for currency variables now include currency names (#3267)
  • New Preset Effect Lists now show their full URL in the Stream Deck instructions without needing to save the first time (#3269)
  • Preset Effect Lists that recursively call themselves will now stop by default after 100 iterations (#3285)
  • Effect queues now have an option to immediately run any queued effects when the queue is paused, as if they were not in a queue (#3097)
  • The default effect queue type is now Sequential (#3110)
  • Items in many lists now support being moved to the top/bottom from the context menu (#3222)
  • Font selectors now also list locally-installed fonts
  • Variables that support regular expressions now have links to Mozilla docs explaining JS regex format (#3140)
  • The following overlay effects now support setting the z-index (layer): (#1789)
    • Play Video
    • Firebot Shoutout
    • Show Image
    • Show Text
  • The Play Video effect now has an effect output containing the video duration (#3138)
  • Command restrictions can now be set as inverted (i.e. "not" the configured values) (#3167)
  • Command cooldown messages can now be configured whether to be sent as a reply (#3198)
  • Volume controls are once again available for Twitch Clips using the experimental player (#3129)
  • The Firebot Shoutout effect can now wait before continuing to the next effect (#3137)
  • The Firebot Shoutout effect now has an option to hide the game/category (#3161)
  • The Create Clip effect now includes the clip thumbnailUrl in the effect outputs (#3152)
  • The Update Channel Reward effect now includes a disclaimer when choosing the custom reward option (#3259)
  • The Run Program effect file picker now uses default file extensions based on your operating system (#3015)
  • The $readFile variable can now save the file lines to an array (#3119)
  • The Discord message file picker now automatically populates the name field (#3146)
  • The Activity Feed on the Dashboard has received multiple visual improvements, including an option to clear the feed (#3172)
  • Missing effects are now better handled in the UI (#3197)
  • Firebot setup import questions can now have a Preset Options type that present a list of options upon import (#3099)
  • Several improvements have been made to Channel Reward performance (#3094)
  • Several improvements have been made to $randomViewer, $randomActiveViewer, and $randomCustomRoleUsers variables (#2805) (#3092)
  • Effect queues have had some minor improvements (#2817)
  • Filters have had some minor improvements (#3083)
  • The $vars popup will now automatically display under a field if the popup would previously get cut off at the top of the window (#3182)
  • Experimental clip player has had some minor improvements (#3102)
  • On Mac and Linux, the Update button now opens the browser instead of attemping and failing to update (#3093)
  • Linux .deb and .rpm installers now associate the .firebotsetup file type with Firebot (#3009)
  • Mac ARM64 installer package now includes more detailed install instructions
  • The $profilePageBytebinToken variable has been deprecated as the new Firebot profile page uses the streamer username
  • Clarified the behavior of the $arraySlice variable (#3107)
  • The !steam system command now has a Country Code parameter to replace the Default Currency parameter that no longer works with the Steam API

✅ Fixed

  • Fixed an issue where moderation regex wasn't checking the entire message (#3155)
  • Fixed several issues with tokens (e.g. {user}) in command response messages (#3158) (#3175)
  • Fixed an issue where setting the effect queue to "None" from the context menu would not save (#3239)
  • Fixed an issue where removing a Firebot setup would not delete associated hotkeys (#3191)
  • Fixed an issue where sound playback may fail when using virtual audio cables (#3105)
  • Fixed an issue related to sort tags with several data tables in Firebot (#3148)
  • Fixed an issue where system command options would not work as expected (#3317)
  • Fixed an issue that would cause items to move unexpectedly when reordering Quick Actions
  • Fixed an issue where text in the Activity Feed may unexpectedly disappear (#3296)
  • Fixed an issue when moving backups to a subfolder of the current backup folder
  • Fixed a display issue in the Edit Stream Info modal when category names are extremely long (Looking at you, Cadence of Hyrule) (#3233)
  • Fixed an issue with custom rank promotion message templates (#3101)
  • The $max and $min variables now correctly handle numbers with decimals (#3062)
  • Fixed an issue with missing whitespace in $cheerMessage (#3224)
  • Fixed an issue where UI plugins might cause error log spam (#3212)
  • Fixed some issues that may occur when loading the custom script/plugin file list (#3210)
  • Fixed an issue with timer interval validation (#3168)
  • Fixed an issue where some game settings marked as optional would not allow empty values (#3201)
  • Fixed an issue where hotkeys may not update until Firebot is restarted (#3217)
  • Fixed an issue where using currency values in the Update Currency effect's chat message would display the old currency value (#3195)
  • Fixed an issue where the log may show a warning if a large number of event listeners connect to certain Firebot modules (#2881)

⚙️ Under the Hood

  • We've migrated profile page data and effect list sharing to our own data server!
  • Plugin platform changes/enhancements:
    • The twitchChat module and twitchChat.sendChatMessage function are both deprecated. Use the twitchApi.chat.sendChatMessage or twitchApi.whispers.sendWhisper functions instead.
    • Both the secondsForHumans and formattedSeconds functions of the utils module are deprecated. Use humanizeTime instead.
    • The getUptime function of the utils module is also deprecated. Use the twitchApi.streams.getStreamUptime function instead.
    • Plugins can create their own webhooks and overlay widget types
    • Plugins can now add/remove their own events to/from existing Firebot effects, variables, and event filters (#3220, #3277)
    • Plugins can now dynamically generate variable usage suggestions/examples (#3267)
    • Plugins can now register new custom parameter types via UI Extensions
    • String and password parameter types now support placeholder test (#2971)
    • Effect definitions can now specify fields in the EffectModel as keysExemptFromAutoVariableReplacement so that variable replacements in those fields can either be run manually during effect execution, or not at all (#3195)
    • Custom HTTP routes now support Express route parameters (e.g. id in /user/:id) (#3264)
    • Plugins can now unregister the following object types:
      • Effects
      • Events
      • Event Filters
      • Frontend event handlers
      • Variables
    • Plugins can now receive the scriptDataDir path during startup (#3180)
    • New initBeforeShowingParams property will let plugins (startup scripts) start running before the user enters settings when first installing the plugin
    • Plugin stop call now receives a boolean parameter that indicates whether the plugin is being uninstalled, in case it needs to remove any persistent data (e.g. webhooks)
    • Several Twitch API wrapper methods have been added to the script types package for convenient access from scripts
  • Lots more TypeScript conversions and unused legacy code removal
  • Platform upgrades:
    • Electron 39.1.0
    • Twurple 7.4.0
    • Express 5.1.0
    • ESLint 9.37.0
      • NOTE: We performed a major upgrade to linting in this version, so you'll probably see more warnings when working in core code. This is expected. As we continue to refactor and improve our code, we're using these warnings as guides.

Windows Install

  • Download and run Firebot-v5.65.0-beta1-setup.exe

MacOS Install

  • Download Firebot-v5.65.0-beta1-macos-arm64.dmg (Apple Silicon) or Firebot-v5.65.0-beta1-macos-x64.dmg (Intel Macs)
  • Right click the .dmg and select "Open"
  • In the dialog that appears click "Cancel"
  • Right click the .dmg again and select "Open"
  • In the dialog that appears click "Open"

Note: Mac OS does not receive auto-updates

Linux Install

  • DEB or RPM based distributions:
    • Download Firebot-v5.65.0-beta1-linux-x64.deb or Firebot-v5.65.0-beta1-linux-x64.rpm
    • Install the file using your system package manager
    • Open Firebot v5 from your system program runner
  • Other distributions:
    • Download Firebot-v5.65.0-beta1-linux-x64.tar.gz
    • Unpack Firebot-v5.65.0-beta1-linux-x64.tar.gz
    • Change into the directory where you unpacked the archive
    • Run the Firebot v5 executable.

Note: Linux does not receive auto-updates

Don't miss a new Firebot release

NewReleases is sending notifications on new releases.