github PhantomBot/PhantomBot v3.6.0
PhantomBot v3.6.0

latest releases: v3.13.0.3, v3.13.0.2, v3.13.0.1...
2 years ago

📢 PhantomBot v3.6.0 is now available as a stable build

 

⭐ Major Changes

➡️ Set simultaneous global and per-user command cooldowns
➡️ Added the ability to use all or half when using !bet or !gamble
➡️ Fixed reconnect stability
➡️ Auctions without using points, and extending the auction when last second bids come in
➡️ Send @mentions and #hashtags when tweeting, when a setting is activated USE AT YOUR OWN RISK, READ THE TOS FIRST
➡️ Change the date format for quotes, and display user names without the ranks
➡️ Scripts for automatically checking if the bot is alive, and a restart button on the panel when configured
➡️ Ignore bots when using the welcome system
➡️ Fixed not updating the game from Twitch when triggering Stream Online


Full Changelog

Added:
➡️ Added Python health check script, Python restart hooks, and JS script for restarting the bot automatically via cron if it stops responding (gmt2001 #2701)
➡️ Added extra output to the 3.5.0 updates in updates.js, since it can take some time (gmt2001)
➡️ Added the console command updategameslist which forces the bot to re-download the entire games auto-complete list for the panel (gmt2001)
➡️ Added logic which may allow automatic recovery when the auto-generated SSL certificate becomes corrupt (gmt2001 gmt2001#180)
➡️ Added the ability to use !bet all and !bet half in the betting system (sartharon #2715)
➡️ Added the ability to use !gamble all and !gamble half in the gambling system (sartharon #2715)
➡️ Added com.gmt2001.httpclient.HttpClient, a modern HTTP request client, and updated scripts and classes to use it (gmt2001)
➡️ Added the ability to open auctions that don't use the points system (sartharon #2726)
➡️ Added the !auction lastwinner command to re-print the winning bid of the previous auction (sartharon #2726)
➡️ Added the PropertiesReloadedEvent which is fired when the PhantomBot properties are saved/reloaded from botlogin.txt (gmt2001)
➡️ Added a new setting to botlogin.txt twitterallowmentions=true which allows @mentions and #hashtags when the bot sends tweets. USE AT YOUR OWN RISK, READ THE TOS FIRST (gmt2001)
➡️ Added new botlogin.txt var twitterusertimelinelimit=15 which sets the tweet retrieval limit for getUserTimeline, getRetweets, and getMentions (gmt2001)
➡️ Added new botlogin.txt var twittertimelinelimit=15 which sets the tweet retrieval limit for getHomeTimeline and getRetweetsOfMe when sinceId is not specified (gmt2001)
➡️ Added new botlogin.txt var twittertimelineextendedlimit=30 which sets the tweet retrieval limit for getHomeTimeline and getRetweetsOfMe when sinceId is specified (gmt2001)
➡️ Added ability to change the date format for quotes with !quotedateformat (gmt2001 gmt2001#172)
➡️ Added a new tag (userrank) which provides the old (user) tag behavior in quotes. An update task will replace (user) with (userrank) in current custom quote templates (gmt2001 gmt2001#103)
➡️ Added a botlogin.txt var restartcmd=/path/to/script and a restart button to the panel settings menu (top-right menu) (gmt2001 gmt2001#121)
➡️ Added basic restart scripts which include instruction comments to use with the restart button (gmt2001 gmt2001#121)

🌀 Changed:
➡️ Changed the TMI client to log all IRC messages, except for PASS, when ircdebug and debugon are true (gmt2001)
➡️ Changed the ExponentialBackoff strategy used for TMI, Host TMI, and PubSub to use the proper math for this type of backoff (gmt2001)
➡️ Changed Regex blacklist keywords to temporarily convert to regular non-regex keywords when the Regex fails to compile (gmt2001 rb#1895)
➡️ Changed DataStore.GetBoolean to support any of the values 1, true, or yes for the true value (gmt2001)
➡️ Changed welcomeSystem to use the ignorebots.txt list to not welcome bots (sartharon #2721)
➡️ Changed the cooldown system for both Twitch and Discord to have independent, simultaneous global and user cooldowns (sartharon #2720 #2734)
➡️ Changed Helix to properly perform an automatic OAuth refresh if the token expires, and then retry the request (gmt2001)
➡️ Changed the auction system to automatically extend the auction timer when last second bids are placed (sartharon #2726)
➡️ Changed the tag (user) to output only the username in quotes (gmt2001 gmt2001#103)
➡️ Changed launch-service.sh to check for correct chown on start (gmt2001)
➡️ Changed launch.sh to attempt to chmod the Java executable if necessary (gmt2001)
➡️ Moved the Dark Mode toggle to the Settings sub-tab on the panel Settings menu, and activated the Settings sub-tab (gmt2001)

🛠️ Fixed:
➡️ Fixed STDOUT not being logged when debugon is set to true (gmt2001)
➡️ Fixed the OAuth token refresh saving the new tokens in the wrong format, causing reconnects to fail (gmt2001, reported by Psychoboy #2697)
➡️ Fixed the Windows launch script not handling when Windows Terminal fails (gmt2001, reported by laurentlasalle #2703)
➡️ Fixed GitHubAPIv3 not properly handling 4-section version numbers for new version detection (gmt2001 #2702)
➡️ Fixed a JS vs Java string issue that caused YouTube playlist imports to fail (gmt2001)
➡️ Fixed some logic issues with updates.js (gmt2001)
➡️ Fixed an issue that can cause a StringIndexOutOfBoundsException in the TMI parser (gmt2001 rb#1894)
➡️ Fixed an issue that can cause an ArrayIndexOutOfBoundsException in the TMI parser (gmt2001 rb#1893)
➡️ Fixed an issue where line breaks sent in PubSub messages could cause a JSONException to be thrown (gmt2001 rb#1898)
➡️ Fixed an issue where messages that look like invalid escape sequences in PubSub messages could cause a JSONException to be thrown (gmt2001 rb#1899)
➡️ Fixed Docker not storing gameslist.txt on the volume (gmt2001)
➡️ Fixed the ConsoleEventHandler removing all ! from commands it is processing, instead of only the leading ! (gmt2001)
➡️ Fixed Host TMI and PubSub not resetting their ExponentialBackoff when successfully connecting (gmt2001)
➡️ Fixed TwitchAPIv5.GetStream indicating an API failure when the actual response was Stream Offline (gmt2001)
➡️ Fixed !shoutout not sending the correct response if the target user does not have a recently streamed game (gmt2001, reported by hippysec #2717)
➡️ Fixed replaying follow alerts also giving the points rewards again (sartharon #2714)
➡️ Fixed a NullPointerException in the DataStore (gmt2001)
➡️ Fixed the OnlineEvent not waiting a few seconds to allow Twitch to update the game (gmt2001, reported by Alucard2112 #2583)
➡️ Fixed the Discord channel selector not appearing on the Discord mod logs settings page (gmt2001 #2601)

🗑️ Deprecated:
➡️ The OAuth page on https://phantombot.github.io now only provides a basic chat token for the bot account. After using this page to setup, please switch to automatically refreshing OAuth tokens from the bots built-in webserver http://localhost:25000/ (gmt2001)
➡️ com.gmt2001.HttpRequest is deprecated and may be removed in the future

🛑 Removed:
➡️ Nothing Removed

🐞 Known Issues:
➡️ Due to the new Twitter API V2 not having some endpoints equivalent to the older V1 endpoints, some queries may use bot-side filtering, which could lead to the bot missing tweets if the target user sends/receives a high volume. This mostly affects retweet and mention detection

🌐 Download It:
➡️ Downloads attached to the bottom of this release notice

❗ Remember to install to a separate folder, then copy over the config dir, as well as any custom scripts or files in addons

➡️ PhantomBot official builds are available on GitHub Container Registry at ghcr.io/phantombot/phantombot and ghcr.io/phantombot/nightly-build

➡️ PhantomBot official builds are available on DockerHub at gmt2001/phantombot-stable and gmt2001/phantombot-nightly. See the readme text on the appropriate Docker Hub pages for Docker Compose files

🗒️ Notes:
➡️ We have guides on PhantomBot. You can contribute by submitting a Pull Request adding or editing .md files in the /docs/guides/content folder of the repo. See the guides for info about formatting.

➡️ $.inidb.executeSql is designed for personal, custom script use where the DataStore backend being used is known and will not change. Issues can, and will, occur if the SQL is written for one DataStore backend and the statement is then executed on a different backend.

➡️ The Windows launch script supports the --nowt command line argument to force launching from Command prompt instead of switching to Windows Terminal

➡️ The botlogin.txt var twitterallowmentions=true allows @mentions and #hashtags when the bot sends tweets. USE AT YOUR OWN RISK, READ THE TOS FIRST

Don't miss a new PhantomBot release

NewReleases is sending notifications on new releases.