- Added `normalize_command_content` method to `CommandManager` to streamline command prefix handling, ensuring consistent processing of incoming messages.
- Updated `format_keyword_response`, `check_keywords`, and `execute` methods to utilize the new normalization logic, reducing redundancy and improving clarity.
- Refactored related command classes to remove legacy prefix stripping logic, enhancing maintainability and ensuring all commands adhere to the new normalization approach.
- Enhanced tests to cover various scenarios for command prefix handling, ensuring robust functionality across different configurations.
- Updated the _cleanup_web_viewer and _cleanup_mesh_graph methods to avoid logging errors during shutdown, as the logger's stream may be closed at that time.
- Modified the shutdown method in MeshGraph to prevent logging of flushing errors, enhancing stability during the atexit process.
- Adjusted test configurations to use Path objects for bot_root and local_root, improving path handling in tests.
- Enhanced .gitignore to allow test files in the tests/ directory and committed pytest.ini for test discovery.
- Added checks for missing sections in configuration files, specifically for Admin_ACL and Banned_Users, to prevent errors during bot startup.
- Updated generate_website.py and command_manager.py to handle cases where required sections are absent, returning empty lists instead of raising exceptions.
- Introduced optional dependencies for testing in pyproject.toml, ensuring a smoother development experience.
- Improved localization handling in core.py to default to English when the Localization section is missing, enhancing user experience.