Releases: Ixitxachitl/MiniBotLauncher
Mini Bot Launcher 0.3.0
MiniBotLauncher v0.3.0 Release Notes
New Features
UI Improvements
- Centralized Theme System - New
Theme.csprovides consistent dark styling across all forms - Channel Selector - ComboBox dropdown for quick channel switching instead of text input
- Manual Chat Input - Send messages directly from the app with input field and send button at bottom of form
- Script Toggles Work Offline - Enable/disable scripts even when not connected to Twitch
Markov Chain Enhancements
- Brain File Manager - View, select, and delete Markov brain files from settings
- Banned Words List - Configurable words to filter from Markov input and output
- Case-Insensitive Filtering - Banned words now match regardless of case
- Double Filtering - Banned words blocked on both input (learning) and output (generation)
- Clean Database Function - Remove banned words from existing brain files
Weather Command
- Format Presets Dropdown - Choose from 4 predefined formats with previews:
- 1: Basic (π¦ +11β°C)
- 2: With details (π¦ π‘οΈ+11Β°C π¬οΈβ4km/h)
- 3: Location + basic (Nuremberg: π¦ +11β°C)
- 4: Location + details (Nuremberg: π¦ π‘οΈ+11Β°C π¬οΈβ4km/h)
- Custom Format Support - Use wttr.in % notation for custom output
- Format Help Button - Quick reference for all available format codes
- Cleaner Output - Removed redundant "Weather for {city}:" prefix
AskAI Script
- Configurable Command Trigger - Change the command from
!askaito any custom trigger
OAuth & Connection
- Auto-Close OAuth Page - Browser tab closes automatically after successful login
- Improved Token Handling - Better OAuth flow with automatic token prefix handling
Bug Fixes
- Fixed ~35+ nullable reference warnings throughout codebase
- Fixed script toggles not working (were disabled by default)
- Reduced form height for better screen fit
- Chat input field properly disabled when not connected
Technical Changes
- Code quality improvements with proper null checks
- Consistent UI styling via Theme class helper methods
- Better error handling across all scripts
Full Changelog: 0.2.9...0.3.0
MiniBotLauncher 0.2.9
π οΈ Release Notes β MiniBotLauncher 0.2.9
Release Date: May 26, 2025
Author: Ixitxachitl
π Font & Emoji Rendering: Windows Strikes Again
Some users (including us) experienced a bizarre issue: top-right emoji buttons appeared as blank white squares or even froze the app on startup, even though emoji rendered perfectly elsewhere in the app and system.
After a marathon troubleshooting session, we discovered that system font corruption, driver updates, or Windows font cache issues can cause WinForms buttons using emoji (via Segoe UI Emoji) to break unpredictably.
What We Changed:
- Added new code to render emoji as bitmaps on buttons, sidestepping font fallback bugs.
- If emoji rendering fails, the button now displays a fallback icon or simple label so youβre never left with a useless white square.
- Added a troubleshooting tip in the docs: if emoji disappear or buttons go blank, try clearing the font cache, repairing .NET, or switching to a simple symbol.
βοΈ Internal Robustness Improvements
- Improved button creation so all icons (emoji or otherwise) always fall back gracefully, with or without event handlers.
- Refactored top-right button logic: ensured every button is added to the form reliably, with unique coordinates and click handlers.
- Startup is now resilient to font, GPU, and system oddities: buttons never silently vanish, even if something else breaks.
π Behind the Scenes: What Went Wrong?
- System font glitches or driver updates can break GDI+ emoji paintingβWinForms just draws a white box instead of failing gracefully.
- Unhandled exceptions in button setup could leave you with missing or non-responsive controlsβfixed with stricter exception handling and debug logs.
- If you run into this, see the new troubleshooting tips!
Compare Changes:
0.2.8...0.2.9
Mini Bot Launcher 0.2.8
π οΈ Release Notes β MiniBotLauncher 0.2.8
Release Date: May 8, 2025
Author: Ixitxachitl
π€ Sound Alerts Join the Party
MiniBotLauncher now supports customizable sound effects triggered by chat commands:
- New Sound Alerts and Walk-On script toggle and settings panel
- Add trigger-command pairs with associated
.mp3or.wavsound files - Sounds are queued and played in order with a 1-second delay between
- Files play reliably using NAudio, removing Windows Media Player dependency
π΅ Playback Controls + Volume
- A new volume slider lets you adjust the playback volume (0β100%)
- A stop button clears the sound queue and halts playback immediately
- The stop button is automatically disabled when nothing is playing
π Settings Interface for Sound Alerts and Walk-On
- Settings form includes a text box for entering the command or user
- Clicking the + button opens a file dialog to associate a sound file with that command or user
- Entries can be removed individually
- Mappings are saved in
settings.jsonand persist across sessions
Compare Changes:
0.2.7...0.2.8
Mini Bot Launcher 0.2.7
π οΈ Release Notes β MiniBotLauncher 0.2.7
Release Date: May 8, 2025
Author: Ixitxachitl
π€ Sound Alerts Join the Party
MiniBotLauncher now supports customizable sound effects triggered by chat commands:
- New Sound Alerts script toggle and settings panel
- Add trigger-command pairs with associated
.mp3or.wavsound files - Sounds are queued and played in order with a 1-second delay between
- Files play reliably using NAudio, removing Windows Media Player dependency
π΅ Playback Controls + Volume
- A new volume slider lets you adjust the playback volume (0β100%)
- A stop button clears the sound queue and halts playback immediately
- The stop button is automatically disabled when nothing is playing
π Settings Interface for Sound Alerts
- Settings form includes a text box for entering the command
- Clicking the + button opens a file dialog to associate a sound file with that command
- Entries can be removed individually
- Mappings are saved in
settings.jsonand persist across sessions
Compare Changes:
0.2.5...0.2.7
Mini Bot Launcher 0.2.5
π οΈ Release Notes β MiniBotLauncher 0.2.5
Release Date: May 4, 2025
Author: Ixitxachitl
π ClapThat Gets Customizable
The ClapThat module now supports a customizable replacement word:
- New Replacement Word input in the ClapThat settings panel
- Default remains "clap" but you can enter anything (e.g., "respect", "high-five")
- The bot will now say "I'd [word] those amazing shoes!" instead of always using "clap"
- Updates apply immediately and persist across sessions
β³ Real-Time Setting Sync
- Changes to Reply Frequency and Replacement Word are now applied immediately after hitting OK in the settings form
- No need to restart the bot to apply new behavior
π¨ UI Improvements
- Settings form for ClapThat resized to accommodate the new field
- Minor tweaks to layout and value retention across uses
Compare Changes:
0.2.4...0.2.5
Mini Bot Launcher 0.2.4
π οΈ Release Notes β MiniBotLauncher 0.2.4
Release Date: May 4, 2025
Author: Ixitxachitl
π© Custom Replacement Word for ButtsBot
You can now change what ButtsBot replaces syllables with:
- Added a Replacement Word textbox in the ButtsBot settings panel
- Default remains "butt", but you can enter any string (e.g., "meow", "wow")
- Change takes effect immediately after clicking OK in the settings dialog
- Value is saved and restored across sessions
β¨ Real-Time Setting Application
- Updates to ButtsBot settings now apply live without needing a restart
- Includes changes to Reply Frequency and the new Replacement Word
π Codebase Cleanup & Improvements
- Refactored ButtsBot internal logic to support dynamic replacement values
- Improved form layout and spacing for a cleaner user experience
- Added internal validation to prevent empty or null replacement words
β¨ Minor Fixes & UI Tweaks
- Increased settings form height to accommodate new input fields
- Ensured window focus and topmost state are restored correctly after settings are closed
Compare Changes:
0.2.3...0.2.4
Mini Bot Launcher 0.2.3
π οΈ Release Notes β MiniBotLauncher 0.2.3
Release Date: May 3, 2025
Author: Ixitxachitl
π€ AskAI Server Configuration
You can now configure AskAI to point to any local or remote GPT4All-compatible model server:
- New inputs for Server Address and Port in the AskAI settings panel
- Connect button fetches available models dynamically from
/v1/models - Model dropdown allows live selection without restarting the app
- Settings persist across sessions
π§Ό Automatic Output Cleanup
Some models (like phi-3-mini-instruct) append stray role tags (e.g. tutor:, response:):
- These are now automatically trimmed if they appear at the end of the response
- Internal cleaner safely preserves valid content while eliminating formatting artifacts
π§ͺ Compatibility Improvements
- Confirmed support for
phi-3-mini-instruct,llama3-8b-instruct, and other GPT4All-compatible models - Added output sanitation logic that ensures a consistent experience across model styles
π§° UI & Usability Enhancements
- AskAI settings now feature a stylized Connect button and redesigned input layout
- Model field converted from textbox to dropdown
- Server settings are saved in
settings.jsonand prefilled on launch
Compare Changes:
0.2.2...0.2.3
Mini Bot Launcher 0.2.2
π οΈ Release Notes β MiniBotLauncher 0.2.2
Release Date: May 3, 2025
Author: Ixitxachitl
π§ Per-Channel Markov Brain Support
The Markov Chain script now stores and loads a separate brain for each Twitch channel:
- Brain files are named using the format:
markov_brain_<channel>.json
(e.g.markov_brain_ixitxachitl.json) - Automatically loads the correct file when joining a channel
- Logs when a new or different brain is loaded
π§Ή Channel-Specific Brain Reset
The Markov brain reset dialog now:
- Deletes the correct per-channel brain file
- Clears the in-memory transition dictionary
- Resets the message counter
- Logs success or any errors encountered
π‘οΈ Safety and Consistency Improvements
- Brain reset only occurs after the user explicitly confirms via the dialog
- Automatically creates a blank brain file if one doesn't exist for the channel
- All internal logic consistently uses the active channel name when managing brain files
π Versioning Update
MiniBotLauncher now uses semantic versioning.
This release follows 2.1 and is now versioned as 0.2.2 to reflect ongoing modular improvements.
Compare Changes:
2.1...0.2.2
Mini Bot Launcher 2.1
π οΈ Release Notes β MiniBotLauncher v2.1
Release Date: May 2, 2025
Author: Ixitxachitl
π― Whatβs New in v2.1
This release introduces customizable settings dialogs for every major script, improved toggle styling, and refined script behavior based on real usage. Settings are now more intuitive, persistent, and integrated.
βοΈ Per-Script Settings Panels
Each script now has a βοΈ button that opens a themed settings dialog:
π€ AskAI
- Choose local model name
- Set max tokens (1β255)
- Provide optional system prompt
βοΈ Weather
- Customize the API response format string (e.g. emoji forecast, temperature)
π Translate
- Select a target language from dropdown
- Ensures translated message and prefix match target language
π ButtsBot
- New slider controls reply frequency (how often the bot triggers)
- Syllable replacement remains fixed at 5%, with always-one-fallback logic
π ClapThatBot
- Adjustable reply frequency via settings
π§ MarkovChain
- βοΈ opens a confirmation dialog to reset the brain file
- Brain wipe also clears the in-memory transition dictionary and message counter
πΌοΈ UI & UX Improvements
- Every toggle has a matching βοΈ button styled with spacing and rounded corner preservation
- Settings windows styled uniformly: dark theme, rounded buttons, real-time slider updates
- Main window intelligently unpins and re-pins when settings popups open
π§ͺ Debug Logging
- ButtsBot now includes verbose debug output for syllable hits, skips, and replacements
- Helps verify expected randomness and behavior during live use
π§© Behavior Refinements
- AskAI settings persist to unified
settings.jsonfile - Translate behavior updated to no longer assume English source language
- Markov brain reset ensures message count delay resets to zero cleanly
β οΈ Known Issues
- AskAI still requires GPT4All server with
llama3-8b-instructor other configured model running locally - Twitch reconnect not yet implemented β restart app to recover connection
ποΈ MiniBotLauncher v2.1 β Now Fully Configurable, Always Composable
Compare Changes:
2.0...2.1
Mini Bot Launcher 2.0
π Release Notes β MiniBotLauncher v2.0
Release Date: May 2, 2025
Author: Ixitxachitl
β¨ What's New in v2.0
This major release introduces a reengineered ButtsBot with syllable-based humor, replaces reliance on POS tagging, improves reliability of message parsing, and embeds the CMU Pronouncing Dictionary for offline use.
π Changes & Improvements
π ButtsBot Syllable Rewriter
- Rewritten to replace random syllables in user messages with "butt" (instead of nouns/adjectives).
- Uses the CMU Pronouncing Dictionary (CMUdict) to detect syllable count accurately.
- Custom text splitter preserves punctuation, casing, and spacing.
- No longer relies on OpenNLP POS tagging.
- Example:
phenomenonβphenobuttnon.
π§ Improved Tokenization
-
Replaces simple space-based word splits with a character-aware tokenizer that:
- Distinguishes words vs. punctuation
- Handles
β’,β, and symbols correctly - Maintains full message fidelity
π Reliability & Behavior
- Messages that arenβt changed by ButtsBot are ignored (no unnecessary output).
- Always preserves original casing: e.g.
SuPeRfLuOuSβBuTtFlOuOuS - 5% chance per syllable to be replaced β adjustable in future releases
β‘ Known Issues (Still Present)
- AskAI still requires a running local GPT4All server with
llama3-8b-instruct - No Twitch reconnect on hard disconnect β restart app to recover
π A Smarter, Funnier ButtsBot β All Offline, All the Time
Compare Changes: 1.9.0...2.0.0