Skip to main content

Version 1.1

· 6 min read
Rapid Rabbit

The largest release of PNGTuber-GPT to date! Version 1.1 is finally here! Happy Easter!

  • This release has been a complete rebuild of the solution. It has many new features, but it's clean modular codebase is the best new feature.
  • This release requires you to completely remove any previous installation by deleting all commands and actions in Streamer.bot related to PNGTuber-GPT. You can then reimport the new file.
  • New release format: the download now comes in a SB file, that you can simply drag and drop on top of the import window to import the solution.
  • The bot can now log question and answer pairs to a Discord channel.
  • Node.js is no longer required. You can uninstall it, and then delete message_log.json from your bot directory. The bot now saves the chat log directly to memory on each chat message, using the native API token in Streamer.bot.
  • You can now list bot names that will not be recorded in the chat log. These are saved under the argument "ignoreBotNames" as a comma-separated list of bot names to ignore, this can be found under the SaveSettings action.
  • New moderation features allow you to use !modclearchathistory and !modclearprompthistory to remove memory from the bot when an inappropriate question is asked, or someone says something inappropriate in chat.
  • The bot now remembers the previous 20 chat messages and the last 5 question and answer pairs in separate queues. This means that even if 20 messages go by between asks, you can still ask the bot follow up questions on the next redeem.
  • Core Directives have been removed, this was only a test feature, and isn't really necessary. The oowoo and ohwoe replacements can be done with Text Replacement in Speaker.bot and the instructions now reflect this.
  • The bot should now respond in less than 500 characters in nearly all cases. This is achieved by tacking on "You must respond in less than 500 characters" onto the user prompt, as if they said it. The bot seems to listen to the user's instruction above any context directives.
  • Revamped moderation settings allow individual control of moderation categories from the central SaveSettings action
  • Clearly marked variables that could lead to the bot breaking in brackets [ ] check for all of these before operating the bot and make sure they have been specified. Any variables with multiples should be comma-separated. Remember to add your bot names to ignore to the SaveSettings Action. This needs to be every bot in your channel, including the bot itself. FAILURE TO LIST THE BOT ITSELF IN THE IGNORE LIST CAN LEAD TO ERRORS.
  • Fixed moderation endpoint, it was returning an empty chat message and breaking the workflow causing the bot to just not respond sometimes.
  • Fixed issue where pronouns were returning incorrectly due to bad pronoun matching logic
  • Added ability to remove nickname with !removenick
  • Added ability to remove the thing you taught the bot about yourself with !modforget
  • Added the ability to get the memory of what you taught the bot with !get memory
  • Added the ability to clear the log file with !modclearlogfile
  • Added the ability to clear the chat log with !modclearchatlog
  • Added the ability to clear the prompt log with !modclearpromptlog
  • Added !modreinitialize command, which restarts the PNGTuber-GPT module and reloads global settings.
  • Added the ability to retrieve all commands with !help
  • Added functionality to the !version command so this can be customized to show whatever you like; for instance, version 202311. Just for an example.
  • Fixed a bug where usernames would get mixed up due to race conditions during redeems
  • Added better error handling for many edge cases.
  • Created an all new logging engine that logs to a separate log file under 'Database Path'\logs.
  • Created a logging level global settings under the Settings Action under Actions. This can be set to INFO, WARN, ERROR, and DEBUG. In DEBUG absolutely everything is logged, while in ERROR only errors are logged, with WARN, only warning and errors, and with INFO, everything that isn't debug. INFO is the default run mode for release. DEBUG is the default log mode for pre-release builds.
  • Expanded the code base from 500 lines of code to over 2,600.
  • Fixed issue where chat log was not sending properly
  • Fixed issue where long messages were not splitting properly
  • Fixed issue where GPTLog had no limit, resulting in overloading the GPT model
  • Fixed issue with !modforgetthis where the variable inputRaw was incorrectly used when it should be rawInput. Thanks, Nintalia!
  • Added !sayplay command, that simply makes the bot say !play in chat, and not speak it. This will allow your bot to play Marbles on Stream with your users, without being fussy about it.
  • Fixed issue where moderation settings were not being applied correctly
  • Fixed issue where username instead of nickname was being used for the Speak action
  • Fixed issue where !modclearpromptlog was not working as intended
  • Created new action "SaveSettings" this action creates a settings.json file in the database path to save all settings, so you don't need to redo them on each upgrade.
  • To support the new settings.json file, a reference was added to System.Security.dll to provide encryption of the API key for storing in a plain text file
  • There is also a new action Startup that executes on each run of Streamer.bot. This will re-enable all of the bots commands when run.

To install this version, after importing, navigate to the SaveSettings action. Enter in all of the required information, and then right click on the trigger at the top and hit Test Trigger. Verify that the settings.json file has been created in the bot directory. Update the database path variable under the Startup action. Restart Streamer.bot. Upon restart, everything should be working. For future upgrades, all you will need to do is change your database path under the Startup action, and then restart Streamer.bot, ignoring the SaveSettings action.

Download Release v1.1