PhantomBot Changelogs

Below you can find the release notes for all PhantomBot versions.

In this version of PhantomBot, we've focused more on fixing issues submitted by the community, rather than adding a whole lot of new features. We're working on some cool things, and as always if you have anything to suggest to us, make a post on our forum! We hope you enjoy this release, and as always please remember to report bugs on our community forum!

As a reminder, PhantomBot is free and will stay free. We strongly believe in open source principles and providing a service to the community. However, we do accept donations to help out with the costs of providing servers and other infrastructure. Also be sure to follow us on Twitter, signing up to to our newsletter, as well as joining our Discord server for more news and updates regarding PhantomBot!

Added:

  • Added a new console command (dumplogs) that will write the latest errors to a file.
  • Added $.updateUsersObject(list) method to update the users object list if needed. This should be used with caution as it will take a list of usernames, add those to the list if not present, then remove anyone from the users object#not present in the passed in list array.

Changed:

  • The control panel is now on port 25000 by default, port 25005 is now inactive.
  • Changed reward logic for the gambling system.
  • Optimization, TCP NoDelay will now be set to true by default for the Twitch websocket.
  • Discord embed tag supports RGB colors (again); note that commas are not required nor is rgb(rrr, ggg, bbb), just use the red, green, and blue code separated by a space: (embed rrr ggg bbb, Message for Discord)

Fixed:

  • The skip button fix for the YTP UI was rolled back, we added it again.
  • !playsong and !jumptosong now shows usage if no parameter.
  • Fixed death counter text file not being updated. (Thanks 3stadt)
  • Fixed adventures hanging when you only had game-specific stories.
  • Fixed error with the chat moderator and the fake purge filter.
  • Control Panel was allowing commands to be added that already existed, fixed.
  • Fixed global cooldowns not working from the control panel.
  • Fixed Discord Greetings for mentions.
  • Fixed description for !songrequest and !sr.
  • Fixed betting system not letting you temporarily close bets without an option.

Download PhantomBot v2.3.8

This is a very critical hotfix for our previous build, v2.3.7. These issues have been resolved. We hope you enjoy this release, and as always please remember to report bugs on our community forum!

As a reminder, PhantomBot is free and will stay free. We strongly believe in open source principles and providing a service to the community. However, we do accept donations to help out with the costs of providing servers and other infrastructure. Also be sure to follow us on Twitter, signing up to to our newsletter, as well as joining our Discord server for more news and updates regarding PhantomBot!

Added:

  • Fixed the pause and play button for the YouTube player.
  • Fixed the !ytp command always showing the current volume when using it.
  • Fixed issues with command aliases.
  • Fixed the YouTube player throwing errors when requesting songs and when trying to play.

Changed:

  • Fixed the YouTube player using the old port when launching it from the web panel.
  • Fixed !age command throwing an error when using it on yourself.

Download PhantomBot v2.3.7.1

In this version of PhantomBot, we address many issues that were introduced in our previous build, v2.3.6.1. We hope you enjoy this release, and as always please remember to report bugs on our brand new community forum! You can learn about this forum migration by clicking here.

As a reminder, PhantomBot is free and will stay free. We strongly believe in open source principles and providing a service to the community. However, we do accept donations to help out with the costs of providing servers and other infrastructure. Also be sure to follow us on Twitter, signing up to to our newsletter, as well as joining our Discord server for more news and updates regarding PhantomBot!

Added:

  • PhantomBot will exit if HTTPS is requested in botlogin.txt but the keystore is not found.
  • Added &marquee as option for addons API endpoint.
  • This will attempt to provide the text in a marquee with a default width of 420 (set to 430 in your browser capture software) and a height of 25 (set to 35 in your browser capture software). Note that the input string will be truncated to 40 characters.
  • You may override the width with &marquee&width=value. For example, &marquee&width=500 (set to 510 in your browser capture software - always add 10).
  • You may override the cutoff of the input string with &marquee&cutoff=value. For example, &marquee&cutoff=60.
  • You may combine &cutoff and &width. For example &marquee&width=500&cutoff=60.
  • Allow JSONArray at top level in customapijson
  • Added a new botlogin option to remove the message limiter, you can use usemessagequeue=false in your botlogin to remove it. Note the bot will still limit to 19 messages in 30 seconds there just won’t be a delay between messages with this option.
  • Added a new blacklist system which has more options and custom timeouts and messages for each blacklist.
  • Custom command tag customapijson will support an array as the top level object now.
  • Testing H2 Database - We do not recommend switching to it as it might not be stable. However, we do welcome people testing it and bug reports.
  • Rewards for retweets. !twitter set reward for options. This feature may be enabled/disabled, announcements may be enabled/disabled, points assigned, and a period of time may be configured that must elapse between retweets by users to prevent point farming. Users must indicate what their Twitter ID (username) is via !twitter register and may unregister via !twitter unregister.

Changed:

  • YoutTube player Playlist loader will use the local cache before hitting YT API. This results in less traffic to the YoutTube player API and should slightly improve load performance as well.
  • Moderation for caps should now be 10x more accurate when there are emotes in the message. Also, it should be faster when it has to send multiple timeouts in a short amount of time.
  • Once users leave the channel their display names will now be removed from the cache; this change will help with memory usage for larger channel.
  • Cleaned up HTTPS and HTTP server classes.
  • More error catching in customapijson tag.
  • Improved detection and handling of errors from the various socket related services.

Fixed:

  • !editquote was destroying quotes due to bug in JSON handling.
  • YouTube player Playlist loads check for errors from YT API look-up and gracefully continue to load the list. Note that PhantomBot will not update the playlist if there is a failure, even if the failure is that the video is private. A video could become private or public at any time. The caster has the option, based on the error logs, to go and clean out that particular song if they want from the playlist.
  • YouTube player Playlist loader was loading the same playlist twice, not causing any noticeable issues, but, hitting the YT API needlessly.
  • Fixed the Discord embed tag not working with commas in the message.
  • YouTube player did not support SSL mode.
  • Fixed the YouTube player spam skipping songs when you clicked the next song button twice in a second.
  • Improved performance in HTTPS server as well as the java_websocket server. This also seems to have resolved an issue that was reported with the java_websocket server experiencing a thread related error.
  • Fixed global toggle for the moderation timeout message not outputting the correct message based on the toggle.
  • One second cooldown on skip song button and skipsong command for YT Player. This looks to fix the issue with several skipsong actions in a row causing an infinite loop and to still allow the YTP to be able to auto-skip songs when needed.
  • Fixed the chat moderation timeout message not working when changing settings from the panel.
  • YTP volume +/- was accidentally removed during a merge. Implemented again.
  • If the YTP Client wasn’t launched and the YTP Playlist page was accessed, this could trigger a message in chat.
  • Optimized the top command by 10x.
  • HTTP server security issue.
  • !shoutout language entry was not working on mobile devices. Removed the bang (!) from after the URL.
  • Fixed follow spam that could happen at times.

Removed:

  • Examples from the flot library used by the Control Panel.

Download PhantomBot v2.3.7

In this version of PhantomBot, we address many issues that were introduced in our previous build, v2.3.6. We hope you enjoy this release, and as always please remember to report bugs on our community forum. Also be sure to follow us on Twitter, signing up to to our newsletter, as well as joining our Discord server for more news and updates regarding PhantomBot!

Added:

  • Added nameConverter.js. This module will allow you and your bot administrators to use a command to convert someone's old Twitch username to his/her new Twitch name. This means that user will be able to keep their points, time, quotes, and more! For usage, type !namechange into chat.
  • Added commands !ytp volume + and !ytp volume -. This raises/lowers the volume of the YouTube player by 2 units at a time.
  • Added a new temporary toggle to the bot login file, whether to allow Twitch Notify to welcome new prime and subscribers, this is true by default since not all channels have been moved to Twitch’s new event. Set usetwitchnotify to false if you want to use the new event from Twitch.
  • When calling the /addons API endpoint, "refresh" may be passed to encapsulate the text being returned within a simple HTML wrapper that forces a refresh every 2 seconds. Example: http://mybot.net:25005/addons/deathctr/deathctr.txt?refresh&web_auth=1a2b3c4d5e6f

Changed:

  • [Important] Improved portability of the launch scripts. Now only one set is needed for macOS and Linux. (launch.sh)
  • Sqlite3 indexing disabled by default. The bot will drop indexes on boot. To keep in place, add useindex=true to sqlite3config.txt in the PhantomBot directory, the same directory that botlogin.txt is in.
  • Added a more convenient way to edit cooldowns on the web panel.

Fixed:

  • [Important] Fixed moderation filters not working properly.
  • Fixed missing lang values for the GameWisp and host module.
  • Fixed missing CSS on the default web panel page.
  • Fixed the !jumptosong command for the YouTube player, now it will jump to the song in the request playlist, if there are no songs in the playlist, it will use the default one.
  • Use Java file.separator property when detecting a lang file change in Core.
  • Fixed the web panel allowing spaces in command cooldowns.
  • Fixed blacklist deletion operation on Control Panel not handling \\.
  • Fixed follow handler, which was checking the wrong table to see if a follower already existed.
  • Fixed minimum viewer count check for the host message.
  • Fixed the multi timer.
  • Fixed command costs not working in Discord.
  • Fixed not being able to remove keywords with backslashes on the web panel.
  • Fixed timing bug with PubSub which could cause $.session not to be valid.
  • Fixed issue with $.session not being set when the bot starts.
  • Adventure cooldown can no longer be set with !coolcom, please use !adventure set cooldown instead.

Download PhantomBot v2.3.6.1

In this version of PhantomBot, we address many issues that were introduced in our previous build, v2.3.5.3. We hope you enjoy this release, and as always please remember to report bugs on our community forum. Also be sure to follow us on Twitter, signing up to to our newsletter, as well as joining our Discord server for more news and updates regarding PhantomBot!

In other news, we surpassed 50,000 downloads! We couldn't thank you enough for using PhantomBot, this milestone is incredible, and it means a lot from us on the PhantomBot team. Thank you for all your support and for using our bot. If you haven't yet, recommend PhantomBot to your friends! Thank you, once again. You guys are awesome, and we love you.


Twitch Change Log:

Changes regarding the Twitch portion of the bot.

Added:

  • Added (readfilerand location). This will read a random line a given file.
  • Added (# number,number). This will give you a random number from a given range.
  • Added regex support for the chat moderator blacklist. Just add regex: before the blacklist to use it.
  • Added !bet current as which will show the current stats of the bet that is currently opened.
  • Added an option to give out more points to users that have been active since the last points payout.
  • Added a variable to encode URLs. (encodeurl URL).
  • Added new default text files for our handlers modules. Check them out in the bot’s addons folder.
  • Added an option to set the amount of viewers required to trigger the hosting alert.
  • Added back the viewers tab under the permission section of the panel.
  • Added new logic for when Twitch moves the subscriber messages to the USERNOTICE event.

Fixed:

  • Fixed StreamLabs donations not working anymore due to changes in their API.
    The YouTube player will now automatically skip songs that are unavailable.
  • [IMPORTANT] Resolved issue with threads not being properly released in some instances. This will fix the bot using a lot of memory for larger channels.
  • Fixed an error in the GameWisp module which would cause it to break upon new subscribers if you had the Discord module enabled.
  • Fixed not being able to update some chat moderation messages and ban reasons.
  • Fixed not being able to use special characters in commands and aliases.
  • Fixed caps moderation not working if there were no emotes in the message.
  • Fixed a typo in the points penalty message.
  • Fixed the ability to add custom commands with an extra !.
  • Fixed not being able to use symbols in the (currenttime) command variable.
  • Fixed not being able to add a reply message with the (writefile) command tag.
  • Fixed possible infinite loop when using /w with the host handler.
  • Fixed ability to open bets without any options.
  • Fixed ability to close a bet on an option that didn’t exist.
  • Fixed NullPointerException error when shutting down the bot before it joined the channel.
  • Fixed memory leak in the web panel.
  • Fixed having to reboot the bot to push some GameWisp subscribers to the subscriber group.

Changed:

  • You can now use spaces in the alias panel.
  • You can now use double quotes in the quotes system.
  • Updated the TwitchAlerts API link to use StreamLabs.
  • The poll system will no longer default to a timer of 60 seconds. Polls will now be open until closed.
  • There is now a 5 second cooldown for all of the bot's warning messages.
  • New cooldown system, this new system will allow you to choose if a command has a per-user cooldown or if it is global. Not more toggle for all commands! By default all commands will be set to global.
  • The bot will no longer make any API calls when starting up, meaning it will start faster!

Removed:


Discord Change Log:

Changes regarding the Discord portion of the bot (discordHandler.js).

Added:

  • Added ability to link your Twitch account with Discord !account link.
  • Added ability to check your Twitch points in Discord.
  • Added a toggle to post Twitch moderation logs in Discord.
  • Added an option to mark the bot status in Discord as "streaming" when you go live on Twitch.
  • Added (readfilerand location). This will read a random line in that given file.
  • Added (# number,number). This will give you a random number from that given range.
  • Added !pricecom and !aliascom for Discord.
  • Added a tag to change roles on Discord. (setrole USERNAME, ROLE).
  • Added a command to set the bot game and streaming URL.
  • Added an embed tag for Discord. (embed COLOR/RGB, MESSAGE).
  • Added keywords to the Discord panel.
  • Added a variable to encode URLs. (encodeurl URL).
  • Added the dice roll game from Twitch to Discord.
  • Added the slot machine game from Twitch to Discord.
  • Added the gambling game from Twitch to Discord.
  • New cooldown system! This new system will allow to set commands to a per-user cooldown just like Twitch!
  • Added ability to set commands to only work in multiple channels, this is no longer limited to one.

Changed:

  • The cleanup command for Discord will now delete your own message.

Fixed:

  • Fixed a typo in the greetings system channel message.
  • Fixed an error which was caused by adding a cost for a Discord command.

Download PhantomBot v2.3.6

In this version of PhantomBot, we address many issues that were introduced in our previous build, v2.3.5.2. We hope you enjoy this release, and as always please remember to report bugs on our community forum. Also be sure to follow us on Twitter, signing up to to our newsletter, as well as joining our Discord server for more news and updates regarding PhantomBot! ❤️

Added:

  • Added a command to cleanup messages in Discord channels. !moderation cleanup [channel] [amount].
  • Added an AnkhBot converter! Read more here!

Fixed:

  • Fixed TypeError for spam moderation.
  • Fixed command permissions for sub commands.
  • Fixed the Twitch url being broken on Twitter.
  • Fixed issue with command costs not deducting points if you added text after the command.
  • Auto Backups! Learn more by clicking here.
  • Fixed viewer count on the panel not pulling the number from Twitch.
  • Fixed points command not working after updating any settings on the points panel
  • Fixed the username being case sensitive on the points panel.

Changed:

  • Changes made for our new message queuing system (coming later):
  • Greetings system will now only welcome users that have a message set to greet them. It will not greet every user.
  • Poll system will no longer say if your vote was registered.
  • Auction system will no longer say that your auction was registered.
  • Follower alert will now have a 5 second delay between announcing new followers.
  • Custom commands are now stored in memory for better performance.
  • Debug commands are now disabled by default. They will still work from the console though.

Removed:

  • Removed bot username blacklist due to it affecting command performance.
Download PhantomBot v2.3.5.3

In this version of PhantomBot, we address many issues that were introduced in our previous build, v2.3.5.1. We hope you enjoy this release, and as always please remember to report bugs on our community forum. Also be sure to follow us on Twitter, signing up to to our newsletter, as well as joining our Discord server for more news and updates regarding PhantomBot! ❤️

Fixed:

  • Fixed StreamLabs donations not getting announced in Discord.
  • Fixed StreamTip donations not getting announced in Discord.
  • Fixed TipeeeStream donations sometimes causing an error.
  • Fixed the Discord tab on the panel sometimes not loading.
  • Fixed the Twitter tab on the panel sometimes not loading.
  • Fixed donations tab error that could happen if a user would make his name all numbers in a donation.
  • Fixed the (playsound) command variable not working and cause an error.
  • Fixed both points and time raffle timers not working from the panel.
  • Fixed the auto-complete for loading a YouTube playlist, this was a timing issue which means it would work sometimes and not other times.
  • Fixed not being able to run commands on the panel.
  • Fixed settings not updating when changing them on the stream alerts tab.
  • Fixed error for discord auto hosts.
  • Fixed parts of messages getting cut off when setting them with commands in Discord. This would happen with the bits and host module.
  • Fixed host reward not working.
  • Fixed some errors with TipeeeStream when someone would donate without a message.
  • Fixed modules not showing up in IE.
  • Fixed the !slot emotes command only returning the usage.
  • Fixed not being able to edit keyword cooldowns or prices.

Changed:

  • Made the queue open command a bit more user friendly. You can now just type !queue open to open one for unlimited users.
  • The raffle system will now let users enter even if they are not following, once you end the raffle it will say if they are following or not. This is not limit the amount of API calls we make to Twitch.
  • Chat moderator warning messages won't be sent anymore if there are already messages in the bot queue.
Download PhantomBot v2.3.5.2

In this version of PhantomBot, we address many issues that were introduced in our previous build, v2.3.5. We hope you enjoy this release, and as always please remember to report bugs on our community forum. Also be sure to follow us on Twitter, as well as joining our Discord server for more news and updates regarding PhantomBot! ❤️

Fixed:

  • Fixed not being able to use the (points) tag in the points message.
  • Fixed the version check not working nor resetting on the panel.
  • Fixed StreamLabs donations not showing up in the donation tab.
  • Fixed the TipeeeStream module always showing as enabled on the panel.
  • Fixed ability to gift yourself points. This would not give the user more points though.
  • Fixed the raffle keyword being pushed to the command cooldown.

Changed:

  • Added a check for spaces in the points name on the web panel.
  • Moved discord modules to its own tab they wont show with all the modules now.
  • !permission is now only an administrator command.
  • The !points command will no longer get unregistered if you have a custom points name.
  • !caster and !follow will now be one command named !shoutout.
Download PhantomBot v2.3.5.1

PhantomBot has come a long way over the years. On January 30th, 2016, PhantomBot launched with a completely new and fresh look as version 2.0. This release was a huge leap forward for the future of PhantomBot. Almost everything was rewritten and re-factored to go faster than ever, making our bot one of the fastest bots out there. Since then, we as a team have made over 3,572 commits to PhantomBot, and we couldn't have done it without you, the community. Without your help and all the love and support we get from everyone reporting issues and requesting new features, we wouldn't have made it this far. PhantomBot has reached over 100 stars on GitHub, and has acquired over 35,000 downloads. This is absolutely insane, and means the world to us. We hope you all enjoy PhantomBot, and we plan on nothing but continuously growing. Today, we are releasing PhantomBot v2.3.5, one of our most feature-packed release yet! We hope you continue to use PhantomBot and share it with your friends, your support means the world to us, and further encourages us to keep building one of Twitch's best open source bots out there. We love you, and remember to follow us on Twitter and if you find any bugs, please report them on our community forum. 💞

Added:

  • Added an integration with TipeeeStream!
  • Added ability to use enter (enter) in auto Tweets.
  • Added ability to add custom win and lose messages for the roll, slot and gambling mini games. This will be in botfolder/script/lang/english/util-gameMessages.js.
  • Limited YouTube playlist import to 150 songs. Alert user to how many playlists in a playlist import file were rejected as PhantomBot does not import playlists from YouTube.
  • Improved YouTube cache lookup.
  • Added !searchquote [text] command. Requires at least 5-characters to search by. Will search the entire quote, that is the username, game and quote string.
  • Added Twitch PubSub integration. If enabled it will log all moderation actions done in your channel, and the creator of that action. This does include Twitches new AutoMod feature. It will log in botfolder/logs/moderation. You can toggle this with !moderation togglemoderationlogs.
  • Set a reward for auto-hosts.
  • Set a minimum number of viewers to reward a channel for hosting. Not for auto-hosting.
  • Added a custom subscriber welcome message for prime subs.
  • Added !module delete [module_name] command. This deletes an entry from the DB for a module that has been renamed/removed from the scripts/ directory. This does NOT delete any script files from disk! If a module is accidentally removed from the DB, please reboot PhantomBot to repair.
  • Added !ytp togglestealrefund. This allows the caster to choose to refund half of the price of a song request to the user if their song is stolen.
  • Added a subscribers only toggle for the normal raffle system.
  • Added a custom emote tag for the re-subscriber welcome message.
  • Rewrote the entire bet system, it is now called the betting system. It will be disabled on all bots by default
  • Added a reward option for resubscribers. Thanks EmptyM.
  • Added a write to file command tag: (writefile FILE_NAME.txt, APPEND, TEXT). Note that all command tags work in that function, and that all the files are stored in the bots addon folder.
  • Added a toggle for when regulars get promoted to announce it in chat or not.
  • Added a custom command tag to play audio hooks, this will also work in keywords. (playsound sound_name).
  • Added "(minutes)" in the time raffle placeholder. Without it this could get confusing.
  • Added a tool-tip for how the gambling winning and range work.
  • Added a spin icon for when you delete a notice.
  • Added ability to set your own message for when users type !points, this will no longer be in the lang, it will be on the panel and available with commands. There will also be a few variables that can be used in the message like (rank).

Fixed:

  • Fixed the !raffle message command not working, and giving an error when using it.
  • Fixed file append for chat logs.
  • Fixed raffle keyword not registering if it was not all lower case.
  • Fixed ability to make a raffle keyword the same as a command, this would cause conflicts and errors.
  • Fixed not being able to set the lang back to English without a reboot if you switched it to something else when the bot was running.
  • Fixed some toggle messages always being the same no matter what the toggle was in the chat moderator.
  • Fixed some hooks not loading at times.
  • Fixed !quote not grabbing the last quote randomly.
  • Control Panel: The host and auto-host messages may be edited now and saved rather than clearing out upon edit
  • Fixed an error regarding the notice timer.
  • Fixed an input whisper being converted to all lowercase
  • Bug in YouTube Player. At times !wrongsong would re-order the song request list, this has been fixed.
  • Attempted to improve song request by having it try to find a YouTube ID, if possible, from the song request and lookup in the cache before calling the YouTube API.
  • Added in some checks to try to catch playlists in song requests, and strip out the playlist portion of the URL.
  • Fixed subscribers being promoted to regulars at times.
  • Fixed issue of not being able to delete some whitelist or blacklisted phrases on the web panel and via commands.
  • Fixed error: [youtubePlayer.js:1732] YoutubeVideo::exception: TypeError: Cannot call method "pushPlayList" of null.
  • Fixed not being able to delete keywords with symbols in them.
  • Fixed slot machine showing reward and not emote name in the emote edit boxes.
  • Fixed ability to set the gambling range and winning percent higher than 100.
  • Fixed the time raffle values not getting reset after opening a raffle.
  • Fixed adding quotes and removing quotes taking for ever. This would look like the panel was slow or frozen.
  • Fixed death counter not showing 0 as the default value when there are no deaths.
  • Fixed audio panel not showing a disabled message if the module was disabled.
  • Fixed the YouTube player disabled messages not showing at the correct place.

Changed:

  • [IMPORTANT] We rewrote the entire Discord module. Read more about the changes here: https://community.phantombot.tv/topic/1346/discord-rewrite-in-version-2-3-5
  • Made the notice timer more accurate. There will no longer be a long delay between notices if your chat is not very active.
  • By default now the old httpserver and the EventSocketServer will be off. To enable them add legacyservers=true in your botlogin.txt file.
  • Moved the game and title change messages into the lang file. bot-folder/scripts/lang/main.js.

Removed:

  • The !follow/!caster command got removed, it is now only !shoutout.
  • The !lasttip command has been removed, it will now be a custom command tag called (lasttip), do note it will only work once you get a new donation.
  • Removed forced timers on the poll system.
  • Removed hard coded command permissions on the poll commands, !permcom will now work with it.
  • Removed the "moderators may adjust time" toggle since it was removed from the scripts a long time ago with permcom.

Extra:

  • Feature to send a PING to Twitch chat if one is not received as well as a feature to perform an automatic disconnect and reconnect if Twitch chat is not responsive. This will make your connection to Twitch more stable.
  • INIDB interface to search for keys by keys and values:
    To use from JS, this is the most common usage:
    var keys = $.inidb.searchByValue('table_name', 'search string');
    var keys = $.inidb.searchByKeys('table_name', 'search string');
    To use sections in a DB table from JS, usually sections are not used:
    var keys = $.inidb.GetKeysByLikeValues('table_name', ‘section’, 'search string');
    var keys = $.inidb.GetKeysByLikeKeys('table_name', ‘section’, 'search string');
Download PhantomBot v2.3.5

PhantomBot v2.3.4.1 addresses issues to our previous build, v2.3.4. Please let us know if this build has any issues, you can do so by posting on our forum. As always, enjoy the release! For more news and updates, follow us on Twitter and subscribe to our newsletter!

Added:

  • Detect Host and Auto-Host from Twitch WS-IRC. This requires a new API OAuth be generated. TMI will stay active if the API OAuth is not updated and the bot cannot properly connect to that chat stream. TMI is automatically deactivated if the API OAuth is updated. In the near future, TMI polling will be disabled for host detection. PhantomBot will warn the user about this on startup. Deprecated hostlist and hostcount as this is made possible by TMI. To get a new API OAuth token click here.

Fixed:

  • Fixed small issue with the online event link when you have a display name in another language.
  • Fixed some performance issues caused by the discord handler.
  • Fixed the cooldown message toggle not saving.
  • Fixed the permissions message toggle not saving.
  • Fixed the pricecom mod toggle not saving.
  • Fixed the cooldown, permission, and pricecom toggle not working on the panel unless you rebooted the bot.
  • Fixed an issue where PhantomBot could freeze at startup with IniStore where one has not been created yet. GameWisp was checking for the module status, yet, the database had not been initialized with that module yet, and a NullPointerException was thrown and not caught.

Changed:

  • Changed SingularityAPI exception messages to contain (GameWisp).
Download PhantomBot v2.3.4.1

Please note as of PhantomBot v2.3.3, we are dropping support for Java 7. Please read on how to upgrade by clicking this text. PhantomBot v2.3.4 addresses issues to our previous build, v2.3.3. Please let us know if this build has any issues, you can do so by posting on our forum. As always, enjoy the release! For more news and updates, follow us on Twitter and subscribe to our newsletter!

Added:

  • Capture the Invalid NICK message from Twitch during login and alert the user to the fact that they need to double check their user (botname) setting.
  • Added a new moderation filter for fake purges. This will remove <message deleted> variations. This filter is off by default like the other ones.
  • Added custom command, follower, subscriber and tweet support for the discord handler! See this page for more information! The discord_online_channel will now be set via a command and no longer in the botlogin.

Fixed:

  • The HTTP server hosted on [default] port 25005 was not properly handling the PUT request after migrating away from previous IRC library to WebSockets. This has been fixed.
  • Fixed whisper commands not working.
  • The Script subsystem will no longer try to load hidden files from UNIX-like operating systems.
  • Fixed the StreamTip module not setting the clientID which would cause it to auto disable the module.
  • Fixed bad group being returned sometimes for the no permission message.
  • Fixed commands not being registered sometimes when you try to enable them.
  • Fixed error with the emotes cache.
  • The GameWisp REST service subscription check now throws an error in the case of bad tokens and will not attempt to access the REST service again until restarted.
  • Fixed CSS for the range bars in the panel. Sorry this got reverted somehow before v2.3.3.
  • The bot will no longer completely close when using System.exit(0) in the core if there’s an error, it will pause and show you the error.
  • Fixed some toggle commands not working for the moderation system.
  • Fixed a few typos in the moderation command usage.
  • Fixed an other hook call in the subscribeHandler.js.

Removed:

  • Removed ability to whisper new followers and hosters.
Download PhantomBot v2.3.4

Please note as of PhantomBot v2.3.3, we are dropping support for Java 7. Please read on how to upgrade by clicking this text. PhantomBot v2.3.3 addresses issues to our previous build, v2.3.2. Please let us know if this build has any issues, you can do so by posting on our forum. As always, enjoy the release! For more news and updates, follow us on Twitter and subscribe to our newsletter!

Added:

  • Added a skip-vote function for the YouTube Player module. (Thanks lbarnett83)
  • Reconnecting WebSockets support in the Control Panel. The Control Panel will attempt to reconnect to the PhantomBot WebSocket every 5 seconds.
  • New WebSocket Server JSON payload to pull multiple tables in one query.
  • Added !botname moderate as a command, this will force the bot to detect its moderator status. This is useful if you unmod the bot while its running. This command is available to moderators by default.
  • Added a new command tag (pointtouser) this will allow you to use !command @name and it will point that user to the command text. Any custom command without this tag only moderators will be able to use !command @name.
    Example:
  • [BETA] Discord Support. PhantomBot may be configured to connect to your Discord Guild and send messages to a specific text-channel when your stream goes online.

Fixed:

  • Fixed a hook call in the subscribeHandler saying resubscriber was not defined.
  • Fixed the host handler not working.
  • Fixed not being able to set the notice required messages to 0 on the panel.
  • Fixed some domain names not being detected by the bot.
  • Fixed the Twitch cache timer. This would cause the stream title and game and uptime not to update.
  • Fixed the bits handler not working in some cases.
  • Fixed issue when creating a multi link from the web panel.
  • Fixed !coolcom command 0 not working and having to set it to 1 second. Now 1 second will be a 1 second cool-down.
  • Fixed ability to request live streams on the YouTube player. This would cause it to crash and abuse the YouTube API because of a infinite loop.
  • Fixed the (channelname) tag being all lower case with the casters name.
  • Fixed errors being logged when editing custom commands on the panel.
  • Fixed not being able to unpause commands.

Changed:

  • Rewrote the entire raffle system with plenty of new cool features. Sadly your current custom lang for it won't be compatible.
  • The bot will no longer log its timeout (.timeout) messages in the chat logs.
  • By default now the no permission message will be off. You can toggle it with !yourbotname togglepricecommessage.
  • Now when the bot is not a moderator it will try to detect its moderator status every time it tries to chat. This has a 60 second cool-down to avoid getting a global ban.
  • Improved command and other module speed by adding a hash-map to the core even process.

Removed:

  • Removed the Twitch global and subscriber emotes from the emotes cache as we can retrieve this information from the Twitch IRC tags. This will save a considerable amount of memory if you have the emotes filter on and it will detect and delete a message with too many emotes faster. Note that the FrankerFaceZ and BTTV emotes are still retrieved and stored per usual.
Download PhantomBot v2.3.3

This release has fixes to our previous build, v2.3.1. Please let us know if this build has any issues, you can do so by posting on our forum. As always, enjoy the release! For more news and updates, follow us on Twitter and subscribe to our newsletter!

Added:

  • The bot will now thank users for subscribing with Twitch Prime.

Fixed:

  • Fixed SQLite and MySQL auto commit. (Thanks gmt2001)
  • Fixed a few static references. (Thanks gmt2001)
  • The panel will no longer blur out the auto Tweet messages.
  • Fixed the !permission <name> <group> not working.
  • Fixed files always having append on. This will fix multiple followers showing up in the latestFollower.txt file or multiple songs showing in the currentSong.txt file.
  • Fixed the custom API feature not working if it needed a argument.

Changed:

  • If you disable a command now, and try to add the same one it will give you a error message.

Removed:

  • Removed jCurses. (Thanks gmt2001)
  • Removed the main.java class. (Thanks satchu540)
  • Removed the auto hosting system since Twitch added their own and its way better. Learn more about it by clicking here.
Download PhantomBot v2.3.2

This release covers a few issues that have been discovered in our previous build, v2.3. Let us know if this resolves your issues! As always, and be sure to report all issues on our forum and follow us on Twitter! Thank you all for using PhantomBot. <3

Fixed:

  • Fixed the per-user cooldown resetting after a bot administrator would use a command.
  • Fixed gif alerts not working in v2.3, and giving a error in the browser console.
Download PhantomBot v2.3.1

It's been a while since we last released, however we have some awesome things in store for you, including loads of bug squashing and optimization improvements! We hope you enjoy this release, and be sure to report all issues on our forum and follow us on Twitter! Thank you all for using PhantomBot. <3

Added:

  • [IMPORTANT] Audio hook system now allows you to add custom commands to one sound. So permcom and pricecom will work on that command. Make sure to delete your old aliases if you are going to be using this new feature. See https://docs.phantombot.tv/kb/audio on how to add those commands. Also default permission for !audiohook will now be admins only, this can be changed.
  • Auto Hosting has been added to the Hosts and Raids section on the panel, we performed more testing and fixed a few things. If something breaks please report it on the forum and disable the auto host module to avoid abusing the host command on Twitch.
  • Added bits/cheer support for partners that have bits enabled!
  • MySQL autocommit support. May be disabled and enabled now on the fly.
  • Added game specific command for custom commands. (gameonly=gameName).
  • Modified !pricecom to support pricing subcommands and a subaction on a subcommand. Note that a subaction takes precedence over a subcommand over a command. This means that you may provide multiple tiers of prices for a command, subcommand, and a subaction off of a subcommand.
  • Added new toggles to the adventure system. You can now toggle on and off per-user enter messages, per-user warning messages. For new users both will be toggled off by default.
  • For JS Module Developers: Built-in Rhino Debugger GUI. Please read: https://community.phantombot.tv/topic/631/rhino-debugger-nightly-build-c68a2cc
  • Added a ton of more losing and winning messages.
  • Console commands: fixfollowedtable and fixfollowedtable-force. Both commands will import all followers for a channel into the database. The first command will not try to import more than 10,000 users; as would all of the followers always be in the channel? This may be forced with fixfollowedtable-force.
  • Added new command tags. (titleinto)- show's title and uptime if the stream is online and (gameinfo) - shows the current game and the playtime if the stream is online.
  • Added a developer debug command, this can be used by the PhantomBot developers or the channel caster. This command would only be used if the caster gives permission for us to live debug his bot or for help. When using this command it will all be logged in the core-debug folder with the user that issued the command, and what command was used. If you wish to disable this command you can, simply add devcommands=false in your botlogin file while the bot is off
  • Added (adminonlyedit)as a tag for custom commands. Add that in your custom command response and moderators won't be able to edit that command with !editcom.

Fixed:

  • Fixed cooldown not working on the adventure command.
  • Fixed the admins being able to skip over the adventure cooldown.
  • Fixed playtime not showing up in the !game command.
  • Fixed !vod not working.
  • Fixed the spam tracker resetting the user time every time he would chat.
  • Fixed the auction timer not clearing when using the command to close it.
  • Fixed song requests not using whisper mode. (Thanks lbarnett83)
  • Fixed a few things in the autohost beta system.
  • Fixed the (gamesplayed) command tag giving a weird uptime result.
  • Fixed a few issues in the auto host system. Feel free to test this system, but remember it’s in beta, so it might be unstable or not work at all. Remember to report bugs or issues as you find them! Commands can be found over at https://phantombot.tv/commands
  • Fixed issue where if you had a symbol in the chatmod blacklist it would not allow you to delete it via the panel
  • YouTube Player !songrequest no longer only sends whispers to users; it follows whisper mode.
  • Fixed !points give <user> <amount working for non admins, and permcom not working on it.
  • Fixed !tickets showing that you have 0 tickets.
  • Fixed a few issues with the host commands. (Thanks lbarnett83)
  • Fixed highlights not being paginated. This would cause highlights not to be said in chat.
  • Fixed moderators still paying for commands even if the toggle was off.
  • Fixed raid message not updating if you change it on the panel.
  • Fixed words going off the chat screen in firefox.
  • Fixed a few issues with the (gamesplayed) command tag.
  • Fixed this in a few places, when the user hits a usage message and there’s a price on the command it would take his points, now it will give them back.
  • Fixed a issue on the keywords panel not allowing you to delete them sometimes.
  • Fixed the group points modifier not working for online points. (Thanks lbarnett83)
  • Fixed !tickets -number removing tickets from the user.

Changed:

  • Rewrote the entire cooldown system to make it faster. This will fix the cooldown not working on the adventure system.
  • Highlights tab on the panel is now fully silent.
  • We started rewriting some code in the scripts, panel and in the java core with more comments for you guys, if you want to edit something. That way it’s less of a pain to figure out that does what. This is going to be a long process because we are not dedicating that much time to it, since feature request is priority at the moment. But once it’s all done we will let you guys know! We also recommend that if you submit code to our github repo to comment as well - what everything does.
  • !disablecom (command) now disables the entire command. It cannot be replaced though.
  • Trying to remove a few default commands. So !uptime, !followage, !age, !game, !playtime and !title will now be custom commands by default. They can be removed. So you will not have to edit the lang for these commands anymore.
  • !game set is now !setgame and !title set is now !settitle.
  • Made !botname rejoin/disconnect use whisper mode.
  • You can no longer promote people to Subscribers since this status is from Twitch or GameWisp only.
  • The TwitchAlerts donation handler is now the StreamLabs handler, and the command !twitchalerts changed to !streamlabs.
  • !permission <user> will now show that users permission.
  • If a user mentions you his name will now show up in the Tweet in chat. @User: Tweet

Removed:

  • Panel commands can no longer be disable. They will no longer show up in the botcommands command and on the permcom tab on the panel.
Download PhantomBot v2.3

This version of PhantomBot contains new features as well as bug fixes. As many of you are aware, we released our new site yesterday, and are migrating to our new domain, phantombot.tv from phantombot.net. We also released a newsletter, where you can be the first to know about new releases and updates from the PhantomBot team! We hope you enjoy this release, please remember to report all bugs on our forum.

Added:

  • Integration with Google URL Shortener added. Used for Twitter to reduce the spam in chat. Can be used with other modules as desired using the $.shortenURL.getShortURL(URLString). If it fails, it will return the original URL
  • Added a queue list on the web panel.
  • Added a new tag for the auto tweet handler. (title) this will be replaced with your current stream title.
  • Added a (gamesplayed) command tag and this will tell you all the games that you played in your current stream.
  • Added a toggle if you want a message to be said in chat when a command is on cooldown.
  • You can now check people's points by typing !points <username>.
  • Control Panel: Paginated time, points and permissions (users) tables. Includes sorting built into the table and, for time and points, copies the username and related value to the edit box when a row is clicked.
  • Added a new spam tacker to the moderation system. With this you can limit how many messages a user can send in X amount of seconds. And stop a one man spam, or emote pyramids.
  • Reconnect and Disconnect messages will now work. Also the connect message will be said after the bot reconnected if you use !botname reconnect. If you don't have a connect message said it will use the default one.
  • Automatic messages when a new version is released in the console and a status is provided on the Control Panel along with a dialog that opens when the status is clicked. Checks on bootup and then every 24 hours after that.
  • New date format for the age and followage commands.
  • StreamTip integration! For more information go to https://docs.phantombot.tv/
  • New command tags: (senderrank) - this will show the sender's name and rank. and (randomrank) - this will show that random person’s rank.
  • Game messages will now include the user’s rank name.
  • You can now set the delay between follow announcements.
  • Added game specific adventures. Read more about this in the adventure lang file.
  • You can now set cooldowns and prices on keywords. You no longer need to use !coolcom for it! It can also be done from the web panel.
  • Arguments will now work with the command: tag on keywords.
  • Added a new !points takeall <amount> command, this will take that amount of points from everyone that is currently active in the channel if they have the amount you want to remove. This option is also on the panel.
  • Added a auto re-announce message to both raffle systems. This will tell your viewers a raffle is still opened.
  • Added a toggle for the success message in audio hooks.

Fixed:

  • Fixed !playtime sometimes resetting even though you're still online.
  • Fixed the bot from saying that you're x amount of hours away from rank null.
  • Fixed error that sometimes happens in raffles, polls, bets etc. Error: cannot find function contains in object.
  • Control Panel: Fixed issue with rolled-up chat blocking operations.
  • Fixed issue on Windows with SQLite to MySQL conversion.
  • Fixed timezone error in the logs.
  • Fixed total entries for the ticket raffle on the panel.
  • Fixed greeting message not updating on the panel.
  • Fixed " not showing up on the commands panel.
  • Fixed !nextsong skipping over a song.
  • Fixed host notification cooldown not working. This would allow multiple host to be sent from a user.
  • Fixed the follow train.
  • Control Panel: Fixed edit command when a question mark was in the command name
  • Continue to allow camelcase keywords, but, ensure that they are allowed in the keyword parser.

Changed:

  • Method to disable auto commit on the $.inidb (DataStore) object. This does nothing for inifiles or MySQL but, in the case on SQLite, will disable and enable auto-commits which provides a dramatic speed increase for multiple sequential inserts. For example, 350 inserts takes roughly 33 seconds in sequential mode with auto-commit enabled; it takes roughly 300ms for the same operation with autocommit disabled.
  • Related to above change, time and point increments now disable autocommit and enable again after operation is done.
  • Enabled multi-threading in the Panel WebSocket Server
  • Enabled page parameter for !audiohook list so that now it stops after the first page, provides the number of total pages, and the user can then !audiohook list [2,3,4,...]
  • Rewrote the entire read/write core part. We now connect to Twitches WS-IRC servers which is full SSL. This will improve the bot read/write speeds and more!
  • Command and timeout speed improvements.
  • Cleanup system rewrite. You can not choose what to delete. See the command list for more info.
  • All moderation filters will be off by default now. This will only affect new users.

Removed:

  • Removed !subscribercount because it was not accurate at all. We replaced it with a custom command tag (subscribers) which gets the number from Twitch if you have your oauth token set. You will get a error if your channel is not partnered.
  • Removed hard coded permission in all the script. This means permcom will work with all commands.
Download PhantomBot v2.2

This is a hotfix that fixes a few small issues with PhantomBot, sorry for the inconvenience. As always, please post bugs, questions, and concerns on our forums. Make sure to follow us on Twitter! Thank you for using PhantomBot!


Added:

  • Added (offlineonly) as a command tag. This will make that command only work when the stream is offline.
  • Added a new command tag (code=) add the code length you want after the =.

Fixed:

  • Fixed users not being added to the $.users array which was causing people not to gain time and points.
  • Fixed poll system auto close timer not working and giving errors.
  • Fixed delcom not removing aliases.
  • Fixed the panel not removing command permissions, aliases, prices and permissions
  • Fixed the !shoutout command sometimes saying the user does not exist.
  • Fixed the connect message sometimes not showing up.
  • Fixed (price) and (pay) not showing the points name.
  • All custom command variables will not work will keywords.
  • Fixed not being able to start a new bet if you use the refund all command.
  • Typo fix in the GameWisp usage messages.
Download PhantomBot v2.1.0.3

This is a hotfix for PhantomBot v2.1 and v2.1.0.1. We hope you enjoy this release, and sorry for the inconvenience. As always, please post bugs, questions, and concerns on our forums. Make sure to follow us on Twitter! Thank you for using PhantomBot!


Fixed:

  • Fixed some issues with .contains() which is not a method of String() in JavaScript. Replaced with .includes().
  • Consolidated events for UserChange and cleaned up the moderation decisions in the Core.
  • Fixed moderators being promoted to regulars so many times when they should not be.
  • Fixed case issues with functions
Download PhantomBot v2.1.0.2

This hotfix fixes two big issues, if you use the point system and the Twitter system, please update! We also forgot to mention yesterday that you can follow this tutorial to figure out how to setup Twitter with PhantomBot! We hope you enjoy this release, and sorry for the inconvenience. As always, please post bugs, questions, and concerns on our forums, and if you haven’t yet, follow us on Twitter. Thank you for using PhantomBot!


Fixed:

  • Fixed Twitter link being broken when posting on the going live and update event.
  • Fixed people not gaining points.
Download PhantomBot v2.1.0.1

This is the biggest, and best release yet! We have some pretty neat things planned for the future, so make sure to follow our public Trello board to find out what we're adding and planning for the future! We hope you enjoy this release of PhantomBot, and as always, please post bugs, questions, and concerns on our forums, and if you haven’t yet, follow us on Twitter. Thank you for using PhantomBot!


Added:

  • Added a toggle for moderators+ to pay for commands.
  • Added ability for moderators+ to whisper the bot commands.
  • Added (whisper) as a command tag.
  • Added ability to set cooldown to 1 second on a command and it will ignore the global cooldown.
  • Added a read file command tag. (readfile filename.txt). This file needs to be in the bots addons folder.
  • Added a new tab permissions tab on the panel.
  • Added mysql support.
  • Added a console reset command. Type reset in the console to reset your botlogin.txt if you're having issues.
  • Added a command tag for keywords command:command_name will run that command.
  • Added back a feature to stop users from gaining points for X amount of time.
  • Added a Donator group. You can toggle if people get promoted to a Donator when donating, and you can also set a minimum amount of dollars they need to donate before getting promoted.
  • Added point bonuses. This means you can add a bonus of points at each payout for X amount of minutes.
  • Added a new command tag. (1=TAG NAME OF YOUR CHOICE). If nothing is said after the command it will use the tag of your choice after the =, if something is said it will replace it with what the user said in chat.
  • Added a new countdown command tag. (countdown=Month Day Year Time) example (countdown=June 29 2016 7:00:00).
  • Added a new (downtime) command tag that will say when the last stream was. This will only work once you go online, and then go offline.
  • Added a toggle for the no permission message.
  • Ranks will now show the next rank in the !rank command.
  • Added ban reasons in the moderation tab on the web panel.
  • You can now blacklist songs or song names and users from the web panel for songrequests!
  • Dashboard will now show your last follow, sub, resub, and donator!
  • You can now set the slot emotes from the panel, or command.
  • You can now set how many users will show in the !top and !toptime commands.
  • Added ability to run commands via the panel.
  • Added new subscriber event handler.
  • Added new re-subscriber event handler
  • Added ability to change the ytp playlist from the panel.
  • You can now add the sound name via the panel you no longer need to modify the script! And when you update it wont delete your sounds anymore.
  • Added a !paycom command that will reward a user the amount you have set for it after using the command. You can also use (pay) as a command tag for custom commands.
  • Added (onlineonly) as a command tag, add it in your command and it will only work when the stream is online.
  • Added !addcom (alert graphicsfile) and !addcom (alert graphicsfile,duration_in_seconds) which will pop-up the graphic file at localhost:25000/alerts and, if an MP3 file is present with the same basename, the audio will play at the same time. Use in OBS Studio with a chroma key of green.
  • Custom language support. Place any files that are to be modified and kept between releases in the lang/custom directory. Subdirectories are supported as well, so the entire lang/english structure could be cloned and modified if desired or just place any edited language files directly into the custom directory.

Fixed:

  • Fixed broken !notice interval.
  • Fixed !botname blacklist add being case sensitive.
  • Fixed issue with commas in a quote while editing the username or game fields in the Control Panel.
  • Fixed hook call in editcom.
  • Fixed regulars not being promoted.
  • Fixed a typo in the !delalias message.
  • Fixed the disabled panel for raffles and ticket raffles.
  • Fixed bet timer.
  • Fixed global cooldown effecting !bet !RaffleKeyWord !ticket !tickets !bid.
  • Fixed a hook call if you justed type !tickets.
  • Fixed the panel death counter not showing "0" if there is not deaths on a game.
  • Fixed commands not getting removed from the permissions in the command list. Old entries will have to be removed manually.
  • Fixed moderator being promoted to regulars.
  • Fixed adventure always choosing the same adventures.
  • Fixed custom commands working with the module disabled. Same with new subscriber alert
  • Fixed total raffle entries not showing on the panel.
  • Fixed resubs not showing.
  • Disabled commands will not show up in the !commands command anymore.
  • Fix so you can set the cooldown on !adventure with !coolcom.
  • Fixed timer issues this will fix; points accumulation, time accumulation, notices dispatching, moderation timeout delay, raffle timers stoping, timer errors in the error log, and more!
  • Fixed incorrect bet close message.

Changed:

  • Made the entire panel silent. This means when you edit something on the panel it will no longer say anything in chat.
  • Made aliases show up in !commands.
  • If you has the old Twitter handler, you will have to do the setup process again. This will be done from the bot console now.
  • Adventure will now say how much you won.
  • The !multi sub commands now work with !permcom!
  • Followage hours and days are now in the lang script. also fixed days showing up when you were following for more then 1 month.
  • Game and Title are now editable on the panel, they will no longer blur out.
  • Changed !group to !permission. If you are not a new user !permission will be aliased to !group. You can !delalias it if need be.
  • Turned raffle message off by default, and when this is off the bot will only announce when a raffle is opened.
  • Turned ticket raffle message off by default, and when this is off the bot will only announce when a raffle is opened.
  • Changed live tweet cooldown from 10 min to 8 hours.
  • Whisper mode for stream commands.

Removed:

  • You can no longer @ mention or # mentions in the Twitter handler. This is because it becomes spam with the automated messages, and it has your bot name in the tweet so they know its from a bot and you could get reported and blocked from using the api.
  • Removed check if bot is sender to whisper the owner.
  • Removed ".mods" from spamming the console and the event logs. Sorry about this.
Download PhantomBot v2.1
PhantomBot 2.0.9 - Optimization and New Stuff!
As always, please post bugs, questions, and concerns on our forums, and if you haven't yet, follow us on Twitter. <3

Added:

  • Optionally may provide logtimezone=TIMEZONE in botlogin.txt to request the core logs and console to produce messages with a specific timezone. If the timezone is empty or invalid, defaults to GMT.
  • Incoming Tweet's will optionally show the configured Twitter ID with the (twitterid) tag. !twitter id command added to show the ID as well.
  • Debug statements will include class, method and filenames, as provided on the stack.
  • The !slot and !roll commands now have a rewards sub-command to set rewards.
  • Added set sub-command to !title and !game so that !permcom title set and !permcom game set are available.
  • YouTube Player Web interface now provides a button to randomize the playlist.
  • Aliased !tickets to !ticket and added a db entry for total entries.
  • !aliascom now supports multiple parameters rather than a single parameter with a command.
  • Added a toggle for event, error and file logging.
  • Bot messages will now be logged.
  • !twitter now shows ID and link and indicates to use !twitter usage for usage. Added !twitter usage.
  • Added (command command_name) as a tag for !addcom. This will execute a command and the rest of the command line is passed. (command) must be the first item in the custom command. Do not use ! before the command_name. For example: !addcom ptsadd (command points) (1) 20
  • Added total entries for raffle on the panel.
  • Updated Viewer Panel to create keys for users from any table that is used to pull data as well as the visited table. This should now capture all users in the database.
  • Whispers limited by msglimit60 configuration in botlogin.txt to define whispers allowed in 60 seconds. Default value is 90. Twitch limit is 100/minute.
  • Stream online Twitter post has a 10 minute cooldown to catch any Twitch, broadcasting software or ISP issues.
  • Added log rotation to automatically purge old logs. By default, logs over 90 days old will be deleted. Can change via !log rotatedays [days]. 0 disables log rotation. Can be updated via the Control Panel as well.
  • New tags for $.say message. Example when the bot is muted [CHAT] will be [MUTED] in the console.
  • Made command tags a lot faster, and api tag now support (sender) tag and more!
  • Added new tags to addcom (#) will generate a random number (viewers) Will say your current viewer count.
  • Added !groups that will show you all of the groups with there id's.
  • Added !fixfollow - This will force add a user to the bot followed list.
  • Added !YourBotName blacklist - This will allow you to blacklist a user from using all of the bots commands.
  • Added a toggle for the bet message.
  • Added event logging in raffle system, ticket raffle system, quote system and bet system.
  • PhantomBot can now handle timeout reasons. If you turn on silent timeout on a filter it will show a private message in chat to your moderators, and the user that got timed out with a reason, and how long is the timeout. This message can be changed with the moderation message commands Ex: !moderation linksmessage (message).
  • Username is now cached ahead of time from Twitch IRCv3 tags.
  • New event for capturing timeouts in channel. This captures all time outs, not just the ones made by the bot and includes the duration and reason.
  • Bot will exit on boot-up if a script is invalid unless reloadscripts directive is in botlogin.txt.
  • Scripts are now optimized further during boot-up.
  • Indexes will be created for SQLite3 tables. This takes some time at first boot-up when the indexes do not exist. Once the indexes are created, they will not need to be created again.
  • Improved speed between accepting a command and executing it.
  • Improved overall performance of SQLite3 through internal tweaking.
  • Added all the same tags as addcom for keywords.
  • If the oauth setting which allows the bot account to login to Twitch IRC is reported as incorrect by Twitch, an error is reported in the console and in logs/core-error indicating that the oauth is incorrect and PhantomBot terminates.
  • Added "jail time" to !kill command. This will timeout a user if he gets a jail message. This can be changed with !jailtimeouttime. Make it 0 if you don't want a timeout.
  • Sped up the execution of commands from Core.
  • Paginate custom commands (!commands), paginate with page number option !botcommands and limits to the group of the user running the command, paginate !module list with page number option.
  • Improved performance and reduced memory footprint of emote handler.
  • Added a global @ tag for custom commands. Mods can now do !command @username and it will return @username -> command message.
  • Optimization for subscriberHandler.js and private messages.
  • Added a blacklist option for the YouTube player. This will allow you to blacklist users from using !songrequest.
  • Added ability to check time on other users. !time <user>.
  • Added new command tags. Please visit https://phantombot.tv/commands to see them.
  • When the login details are not found the bot will now disable all the modules, and set all the old updates as true. This will only happen on new bots, or if you delete your botlogin.txt file.

Fixed/Changed:

  • Internal Change: The $.users object is updated when someone first chats as the Twitch Join event can take 1-5 minutes to arrive. The Twitch Join event will also add to $.users object if not present for lurkers.
  • Changed order of loading commands. Now, all commands are loaded first, then the aliases and the custom commands. Additionally, errors are logged if duplicates are found.
  • Fix for deleting pricecom when you delete commands.
  • Fixed hook call in word counter.
  • Revamped portions of the IRC library and IRC event handling to provide better performance.
  • Fixed keyword removal from being case sensitive.
  • Turned off whisper mode by default. This will only affect new users. You can toggle it with !togglewhispermode
  • Made !uptime not call the api for $.isOnline this is checked in the Twitch cache now.
  • Fixed !playtime issues.
  • Fixed issue with pricecom not setting cost on aliases.
  • Fixed global cooldown effecting !adventure.
  • Fixed !time take.

Removed:

  • Removed the per person entry message for the ticket raffle systems. I will now say the total to entries every 60 seconds. You can still toggle these messages with the commands.
  • Removed "specialuser" (subscribers) from showing up in the event log.
  • Removed seconds from points time.
Download PhantomBot v2.0.9
PhantomBot 2.0.8 - The Twitter Update! As always, please post bugs, questions, and concerns on our forums, and if you haven't yet, follow us on Twitter. <3

Added:

  • Twitter API added. Be sure to read the forum for more information on this.
  • Added !playtime, this will tell you how long you have been playing the current game for.
  • Added a disconnect button on the panel.
  • Added timeout time and warning time for each chat moderator filter. This will remove the old timeout time length and warning time length you had set, sorry.
  • Multi Session support, including read-only authorization, added for Panel Socket Server and YT Socket Server. - Added YouTube Player Playlist Viewer.
  • Added a auto close timer to bet.
  • Added a option for multiple repick on the raffle system.
  • Added a bet refund all command.
  • Added ticket raffle list on the panel.
  • Added command !audiohook to list and play Control Panel Audio Panel hooks from chat.
  • Added queue system.
  • Added a toggle for the follow train, it is disabled by default.
  • Control Panel: Added a refresh button to refresh the data in the current panel. Useful if data is not present or need to quickly refresh the data, such as for raffles.
  • Added !vod command. This will show uptime and the current VOD (with time index) as a link when online and the last video and length of that video when offline.
  • Added ability to pull Twitch channel videos endpoint. This gives access to the currently playing video, past highlights (maximum of 5) and last recordings (maximum of 5).
  • Added Console commands: testfollow and testfollows [count]. These commands generate follow events in the bot.

Fixed/Changed:

  • Fixed unregistercommand function.
  • Made default follow reward 0.
  • Modified Core IRC throttling to be less restrictive.
  • Updated Panel interaction with Notices to reset the timer.
  • Updated the moderation page on the panel.
  • Fix made to Ranks Panel, the ranks data was not being reloaded from the DB after adding a new rank. Also widened the editing fields for rank names.
  • Fix made to timer system to stop error messages. Timer was still working fine, just old functionality was still being used.
  • Changed command !reconnect to - !YourBotName reconnect. Also added: !YourBotName [disconnect / connectmessage / removeconnectmessage]. use "!YourBotName" for usage.
  • Internally, customCommands.js translates input from commands to lower case to resolve user data entry issues.
  • Internally, cache certain data from Twitch for commands that all needed the same data. This reduces the load on the Twitch API by reducing the amount of calls that have to be made on a regular basis.
  • Revamped the web page served on the base port.
  • Efficiency changes made to the chat moderation system.
  • Panel fields are now checked for focus to disable polling the DB. Note that if you move away from the web browser that the "out of focus" event fires and edited items will be refreshed with DB data again.
  • Changed success message of !makeitrain. It was only printing the first user, but, if there were a lot of people in chat, the success output would have spammed chat.
  • Changed message on !traffle open to indicate to the users that !tickets is used to buy tickets.
  • Caps moderation now takes emotes into account.
  • Fixed auction not resetting.
  • By default the bot will no longer reload scripts automatically, except lang files. This is to reduce issues that may occur when scripts are changed while the bot is running. All scripts will be loaded by editing botlogin.txt and placing 'reloadscripts' as an entry and restarting PhantomBot; this is only recommended if developing scripts and there is an understanding of the consequences of touching certain scripts. (This may also speed up the bot a little bit as we will reduce the number of threads -- by 61 -- constantly checking to see if files have been changed)

Removed:

  • Removed group chat server since we can handler whispers in one IRC server now. (This will free up the socket, and use less resources, which will give the bot a better boot time).
  • Removed all hard-coded messages from streamCommands.js and placed in lang file.
Download PhantomBot v2.0.8

Fixed/Changed:

  • Fixed undefined permission message when using an action with a custom command.
  • Custom cooldowns allowed on a command even if global cooldown is enabled.
  • Fixed missing strings in GameWisp handler.
  • Fixed issue with hours being cut off in time output when ending with 0 (10, 20, 30, ...).
  • Fixed donationHandler. The donationMessage was being overwritten. Added (message) tag for donation message.
  • Fixed various typos found in language files.
  • Fixed permit being case sensitive.
  • Fixed the default long message warning/timeout being "false".
  • Fixed missing points name in slot.
  • Fixed !traffle repick issues, also fixed max-entry not being accurate, and cost not being accurate in ticket raffle system.
  • Fixed typo in auction system.
  • Fix to Notice System not triggering all the time.
  • Web Panel starts an adventure as the owner rather than the bot.
  • Fixed group points distribution.
Download PhantomBot v2.0.7.2

Added:

  • Added silent timeout for blacklist.
  • Added 'testhost' from the console. This sends the "TwitchHosted" event using the name of the bot as the host. This allows for testing the hostHandler feature.
  • Added 'testgwsub' from the console. This tests the GameWisp new subscriber event and subscribes the bot. Useful for testing the messages

Fixed/Changed:

  • Fixed Performance Issues in WebPanel. Note that a new java_websocket.jar has been released as part of this and must be placed in the lib folder. If you are picking/choosing files for an update, be sure to grab this or the bot will not start.
  • Fixed issue on Viewer Panel with Followers.
  • Fixed potential issue on Audio Panel with Launch YouTube Player button.
  • Cleaned up a couple of panels based on input.
  • FFZ API had changed the Local (user defined) emotes and creating the emotes cache was failing. This has been fixed.
  • Please note that the Web Panel is still in BETA.
  • Download PhantomBot v2.0.7.1

    PhantomBot v2.0.7. I must say, this has to be the biggest and most stable release we've ever worked on. It's been a month since we have released PhantomBot v2.0.6, with 333 changes, bug fixes, and additions. With this release, we've added GameWisp support, and a built in, fully functional web panel, and more! We've also made some drastic changes to our website, with a new forum, nicer organization, and written documentation on how PhantomBot works, and how to configure it from top to bottom (this is still being worked on!). We hope you all enjoy this release, and we can't thank you enough for using PhantomBot. As always, please post bugs, questions, and concerns on our forums, and if you haven't yet, follow us on Twitter. <3


    Added:

    • Added a option to toggle if notices can be said in offline chat and removed !notice reload command because it was useless and fixed usage syntax errors.
    • Added toggle so you can choose what chat moderator filter subscribers and regulars can ignore. And optimized the chat moderator.
    • Implemented Core GameWisp API and Singularity API calls.
    • Implemented WebPanel WebSocket server.
    • Module enable will only call initReady on the module enabled instead of all modules.
    • Death Counter added! Keeps tracks of deaths per game.
    • Added option to do silent timeouts in the chat moderator.
    • Added event logging in all the handlers and most of the commands scripts, more will be added in the future. To enable this use !log enable.
    • Added !toggleperusecooldown (this will fix adventure issues). This also allow you to set a cooldown on one command for all users.
    • Added back consoleLn() to say if a command is on a cooldown.
    • Added !disablecom and !enablecom. This will allow you to disable commands.
    • Added back !uptime as a default command. Also added !followage back!
    • Added !multi reqmessage (amount) to the dual stream command. Default is 10 messages.

    Fixed:

    • Fixed issued when a subscriber would use !group they would be in the viewer group.
    • Fixed issue if you tried to alias a command to a existing command it would break the other command.
    • Fixed raffle taking points when you don't have enough, and fixed hook call that would cause the raffle to fail to choose a winner.
    • Fixed permission for !chat, and fixed issue causing the no permission message to show up twice sometimes. And fixed typo for "Administrator".
    • Fixed bug with init.js commands.
    • Fixed ability of gifting negative points.
    • You can no longer use negatives in the raffle enter price.
    • Fix for subcommand permission issues, now the subcommand permission is shown instead of the command permission.
    • Fix to fileUtils::moveFile()
    • Change !globalcooldown [time] to !globalcooldowntime [time]
    • Fixed steam:, spotify: getting detected as a link.
    • Fixed !notice edit which was putting the ID as part of the notice.
    • Fixed notice and dual stream timer not updating.
    • Fixed issues in some game commands.
    • Rewrote timer system.
    • Fixed bet set maximum, was overwriting minimum in the DB.
    • Fixed looping issue that could cause keywords to be said twice, and fixed usage not working.
    • Fixed issue causing !slot saying the wrong winning amount.
    • Fixed issue that would allow you to edit or overwrite built in commands. Also added a message if there are no custom commands.
    • Fixed Everything.

    Removed:

    • Removed AWS cluster check because Twitch moved everyone to the new AWS clusters. Default host name is now: irc.twitch.tv again.
    • Removed !followmessagenoreward. This has moved to one command !followmessage. You might have to set your follow message again if you had it set to no points. Available tags: (name) (reward). Sorry for this but it had to be done. <3
    • Removed !submessagenoreward and !resubmessagenoreward. You must now use !submessage and !resubmessage. If you had a sub message set with no reward it will be reset.
    • ytpassword directive removed as part of the Control Panel. The Control Panel and YouTube Player share the same username/password directives now to provide a single-sign-on experience. The new settings are paneluser and panelpassword in botlogin.txt
    • Removed Herobrine.
    Download PhantomBot v2.0.7

    Fixes:

    • Forces group chat to group.tmi.twitch.tv:6667 with the recent AWS change. Ignores ghostname for now.
    Download PhantomBot v2.0.6.1
    FIXES, FIXES, AND MORE FIXES!

    Today we're proud to release PhantomBot 2.0.6, this build has many bug fixes, and also introduces our new YouTube player which you can find the documentation for by clicking this text! As always, if you encounter any issues, please report them on the PhantomBot Forums. Thank you!


    Added:

    • Added more tags to keyword. (uptime) (game) (status) (pointsname) (sender) (@sender) (baresender)
    • Added configurable cooldown to greetings (!greeting cooldown [minutes])
    • Added symbols percent limit. Default is 50%
    • Added max grouped symbols allowed in a message
    • YouTube Player 2.0:
      • New Interface! Loads from http://yourhost:25005/ytplayer and asks for username and password. Username is ytplayer password is in your botlogin.txt after first boot and may be changed and you restart your bot to reload the password. (Note, 25005 is if you are using a baseport of 25000, the default)
      • New Web Server (base port + 5) -- test your panels with this port too!
      • Needs baseport + 3 opened for version 2.0 API if you have firewalls! Same with the above port!
      • Overhaul of YouTube Player commands
    • Query the DB with the New HTTP Server:
      • Supports simple queries into the database via HTTP The header must include either "password: oauth_password" or "webauth: webauth_password"
        Query table exists: table=tableName&tableExists
        Returns: { "table" : { "table_name": "tableName", "exists" : true } }
        Query table keys: table=tableName&getKeys
        Returns: { "table" : { "table_name": "tableName", "keylist" : [ { "key" : "keyString" } ] } }
        Query if key exists: table=tableName&keyExists=key
        Returns: { "table" : { "table_name": "tableName", "key" : "keyString", "keyExists": true } }
        Query key data: table=tableName&getData=key
        Returns: { "table" : { "table_name": "tableName", "key" : "keyString", "value": "valueString" } }
        If an error occurs, { "error" : "error information" } is returned
    • Automatically detect aws or traditional chat server and connect on startup.

    • Fixed/Changed:

      • Fixed blacklist and whitelist not loading. And @commandpath typo
      • Fix to !notice [edit] and updated !notice lang to show 'get' in usage
      • !streamertime shows configured !timezone time. Note, uses 3-letter timezone representation in output, not the full string configured (i.e. America/Denver shows up as MST or MDT). Also shows hours offset from GMT.
      • Poll changes. !poll open usage has changed to !poll open "poll question" "option1, option2, ..." [seconds] [minimum votes]. The later two options optional, if [seconds] is 0, defaults to 60. Detects ties now. !poll results reports the votes per option.
      • Cooldown now handles keywords.
      • Fixed !module list
      • Moved TMI user list lookup to separate event channel to not potentially send multiple ircJoin events.
      • Fixed !ranks NaN issue
      • Fixed .me links not getting timed out without http://
      • Changed caps limit to be the percent of caps in the message. Default is 50%
      • Turned logging off by default
      • Removed console log for found links
      • Fixed hook call in wordCounter
      • Made chatmod a bit faster
      • Fixed mod and de-mod issues
      • Fixed issues in ticket raffle system.
      • Turned the enter message on be default on both raffle and ticket raffle systems.
      • Changed enabling follower announcements message
      • Fixed issue in multi command if name would have "set" it would get replaced, and made the timer only work if the channel is online
      • Fixed issue with the command cooldown
      • Fixed commands being case sensitive
      • Turned emote filter on by default
      • Changed reconnect message
      Download PhantomBot v2.0.6 Download YouTube Player Documentation PDF

    This release is due to the impending move to Twitch's new servers. PhantomBot versions moving forward will detect which cluster the stream is located on and make the change automatically. Older versions need to apply the fix found here.

    Download PhantomBot v2.0.5.1

    Today we're proud to release PhantomBot 2.0.5, our biggest update yet! Thisi update adds and fixes things you've all been asking for, we can't wait for you to try them and let us know what you think! If you encounter any issues, please report them on the PhantomBot Forums. Thank you!


    Added:

    • Added auction system.
    • Added auto close timer for raffle system.
    • Rank system revamped. Supports auto-ranking based on hours in chat. Enhanced the self-configuration of ranks by allowing caster to configure an amount of points to charge for setting a custom rank.
    • Added color filter for chatModerator.
    • Made (warning) and (timeout) use lang.
    • Added debug in the core.
    • Added a long message filter to the chatModerator.
    • Added debug in most scripts with the "spam" messages.
    • Added betSystem.js.
    • Added new disabled modules to v2.0.5.
    • Added a dualstream command.
    • Added highlights -- !highlight !showhighlights !clearhighlights
    • Added local time zone configuration - !timezone [timezone name]
    • Quote enhancements: edit stored quotes, set quote message using tags, stores the game being played.
    • Added word counter
    • Added a global cooldown / fixed current cooldown.

    Fixed/Changed:

    • Fixed a typo in updates.js.
    • Changed default chatmod settings. This will not apply if you have custom settings already set.
    • Fixed issue causing the same notice to be said twice.
    • Bug fixes in donation handling and subscription handling.
    • Emote toggle issue.
    • Group points gain default is now -1, now defaults to gain/offline gain.
    • Various typo fixes, weird verbiage on !points fixed.
    • Changed whisper default IP.
    • Group chat IP can now be changed in botlogin.txt.
    • Fixed internals to permissions.
    • Fixed subscription auto-promotion and demotion.
    • Removed console "spam".
    • Fixed core typo.
    • Logging mechanism changed. The core now writes out files to logs/core logs/core-debug and logs/core-error with dated files like the rest of the bot does. This replaces stdio.txt.
    • TMI will be pulled to verify users in chat when bot starts up and hourly after that to verify the internal user list of the bot.
    • Fixed no perm message.
    • Top5 commands ignore bot and owner.
    Download PhantomBot v2.0.5

    Added:

    • Changed whisper default IP.
    • Group chat IP can now be changed in botlogin.txt.

    Download PhantomBot v2.0.4.1


    Added:

    • Added ticket raffle system.
    • Added !gift to points system.
    • Donation handler will show currency if desired.
    • Emote Moderation Enabled
    • Points can be disabled. This will also disable point-related modules automatically.

    Fixed:

    • Fixed raider message having NaN
    • Fixed polling
    • Fixes to subscription system and subscription count command.
    • Follow Train no longer stops at 3.
    • Notice fixes.
    • YouTube Player max video length fix
    • (touser) updates for custom commands
    • Fixes to the auto-promotion of users to the regular group.
    • roulettetimeouttime fixes.
    • Updated delcom when no parameters passed.
    • Improvements to command handling speed.
    • The !points all command fixed.
    • Rewrite of raffle system
    • Fixed typos in ticketraffle
    Download PhantomBot v2.0.4
    Today we are proud to release PhantomBot v2.0.3, this version has a ton of bug fixes and has something you’ve all been waiting for; Streamlabs support (thank you, IllusionaryOne)! Connect PhantomBot to Streamlabs.

    Added:

    Fixed:

    • Fixed the bot whispering to itself when using commands in the console.
    • Fixed !aliascom displaying custom and default commands to not exhist, thus no aliased commands to be created.
    • Fixed custom commands.
    • Fixed the raffle system.
    • Fixed raffle system not starting on command.
    • Fixed setting a group says $1 to $2 instead of the respecting groups.
    • Fixed permissions that are hard coded for commands not working with !permcom.
    • Fixed the final script from not being loaded, in this case it was the youtubePlayer.js since it follows the list in ABC order.
    Download PhantomBot v2.0.3

    Fixed:

    • Notice Handler: !notice add [message]
    • Quote System:  Last quote in the list would not show when using !quote
    • Follow Handler: !followmessage [message]
    • Keyword Handler: !keyword add [keyword] [message]
    • Misc: Responses from certain scripts like follows and keywords, and !chat [message] and etc. This disabled the !toggleme feature.
    • Init: Issue with rebooting to enable a module after !module enable and a problem with loading the last script in the list.
    • Top Command: Fixed spam in console from !top5 and !top5time
    Download PhantomBot v2.0.2

    We've released a hot fix to fix some issues with PhantomBot v2.0, you can download PhantomBot v2.0.1 by clicking here. Please read the changelog on version 2.0 if you are upgrading from 1.6.6.2 or below! Customs scripts from v1.6.6.2 will NOT work with v2+. If there is a script that must be had, make a request on the forums and we will see what can be done.


    Notable Changes:

    • Core: Fix init commands not working (!module & !reconnect)
    • Chat Moderator: Fix missing language strings errors
    • Chat Moderator: Fix permit user not working proper
    • Chat Moderator: Fix Capital letters and numbers not being count as symbols
    • Host Handler: Fix !hostmessage not working
    • Roulette: Fixed timeout not working
    • Roulette: Fixed notification message not getting sent
    • Several other small fixes
    Download PhantomBot v2.0.1

    When you upgrade to this version change everything other than your points, times, and custom commands will be deleted. We have changed how things are stored for various reasons, it is an improvement. This may take quite some time for large channels, it is recommended to make sure you have plenty of time! The only things you should put in the new PhantomBot folder when converting are your: botlogin.txt, phantombot.db, and your addons folder. Customs scripts from v1.6.6.2 will NOT work with v2.0. If there is a script that must be had, make a request on the forums and we will see what can be done.


    Notable Changes:

    • Minifier added - Removes everything from scripts that make them “pretty,” increases performance.
    • Coding style guide added - Establishes the guidelines for code that you wish to contribute to PhantomBot.
    • Dev setup guide - Guide to help you get an IDE ready to work on PhantomBot.
    • Command changes - Things follow a more logical pattern now, the new command list is on the main site.
    • FollowHandler - No more spamming of old follows on new bot setup.
    • Youtube Player - Rewritten completely, much more stable than the old one.
    • Oauth - Rewritten, functionality and appearance increased.
    • Chat Moderator - Rewritten completely, all the new features are listed below.
    • Modules - Non-essential modules disabled by default, to re-enable them you need to use !module enable <path>, full paths are provided below.
    • Scripts - Locations have been restructured to be more logical, some have been renamed.
    • Lang files - Separated by type, and individual files to make locating and modifying easier.

    Chat Moderator Changes:

    • Blacklist added
    • Main command set changed to: !moderation
    • Sub commands changed to: !moderation [command]
    • Toggle commands changed to: !moderation [feature] [on/off]
    • Ability for regulars and/or subscribers to bypass chat moderation added
    • Overall speed and stability increase

    Modules Disabled by Default:

    • ./games/8ball.js,
    • ./games/adventureSystem.js,
    • ./games/killCommand.js,
    • ./games/random.js,
    • ./games/roll.js,
    • ./games/roulette.js,
    • ./games/slotMachine.js,
    • ./handlers/followHandler.js,
    • ./handlers/hostHandler.js,
    • ./handlers/subscribeHandler.js,
    • ./systems/cleanupSystem.js,
    • ./systems/greetingSystem.js,
    • ./systems/noticeSystem.js,
    • ./systems/pollSystem.js,
    • ./systems/quoteSystem.js,
    • ./systems/raffleSystem.js,
    • ./systems/raidSystem.js,
    • ./systems/youtubePlayer.js,
    Download PhantomBot v2.0.0