Skip to main content

HalpyBOT Dev Update #1

This update was originally posted on 02/13/2023

Heya folks, time to don my Cyber hat for a bit. 

It's been a little bit since the last update to HalpyBOT, and we wanted to give you an update on what we've been up to over in the Cyber world. 

Over the last little bit, we've been focusing on cleaning up and improving a number of aspects of the core bot, some of which haven't received any polish since version 1.0 of the bot! We've just finished what we think is the last of the core improvements to existing code, and are hard at work starting development of the new Case Manager system (the long awaited case management tool suite!) 

Here's a short list of most of the major improvements we've made to the bot - with thousands of changed lines so far:

- Established a new Config mechanism for increased stability and cleaner usage.
- Added a number of automated reviews to our code process to help prevent bugs.
- Updated some of the CLIs to use the updated database mechanisms.
- Refactored the CLIs to be more easily understood and maintained.
- Updated some of the CLIs to use the HalpyBOT Coordinate System.
- Simplified some CLI methods.
- Migrated HalpyBOT to use the Poetry package manager for easier maintainability.
- Removed the Delayed Case mechanism to be replaced by the upcoming Case Board mechanism.
- Added a Dice Roller command (And another command, Sorcerers and Wizards be careful!).
- Migrated HalpyBOT's global entry point to inside the HalpyBOT directory.
- Added a number of missing Docstrings for code documentation. 
- Integrates the BotClient and TCP Server into a single thread for memory stability.
- Migrates a number of module-level independent globals to the HalpyBOT main class for easier maintainability.
- Improves the Help command logic to be more responsive.
- Simplifies the Drill module logic to remove duplicated code fragments.
- Completely refactors the EDSM commands system from the ground up.
- Refactors the Staff Notification module to fix a number of potential bugs.
- Updated the performance of the Manual Case system.
- General logic and performance enhancements.
- Updated the offline mode system to fix a few possible issues.
- Completely refactors the case announcement system.
- Removes the Twitter module.
- Improves the logic of the CommandHandler system. 
- Improves error output when problems occur for better tracking by Staff and Users.
- Reworks the database check system to better maintain database connections.
- Updates the Coordinate system logic.
- Adds new Language Code, Database Connection, and Command file handlers to the HalpyBOT Class.
- Completely reworks the Client Configuration system for the botclient.
- Improved the message-sending system to avoid sending blank new lines. 
- Updated additional database linkups to use improved logic.
- Adds a timed, repeating task system to help automate some tasks. 
- Fixes a possible race condition on cross-thread reads and writes.

We're super proud of our work, and hope that you will like it too once version 2.0 is ready. If you want, you can even track our progress at