30 Commits

Author SHA1 Message Date
agessaman
16322e0631 Update documentation links and navigation structure
- Added an overview link to the installation section in mkdocs.yml for better accessibility.
- Renamed the Command Reference documentation file from `commands.md` to `command-reference.md` for consistency.
- Updated all references to the Command Reference in README.md, getting-started.md, and index.md to reflect the new file name.
2026-02-16 17:29:08 -08:00
agessaman
652712eb0c Update documentation links and file references for consistency
- Renamed various documentation files to use lowercase for improved consistency, including `WEB_VIEWER.md`, `DOCKER.md`, and `PATH_COMMAND_CONFIG.md`.
- Updated references in `config.ini.example`, `docker-setup.sh`, `README.md`, and multiple documentation files to reflect the new file names.
- Removed obsolete documentation files related to the Discord Bridge, Map Uploader, Packet Capture, and Weather Service, streamlining the documentation structure.
2026-02-16 17:15:52 -08:00
agessaman
adc99e2164 Update documentation and file references for service installation
- Renamed the service installation documentation file from `SERVICE_INSTALLATION.md` to `SERVICE-INSTALLATION.md` for consistency.
- Updated links in `README.md`, `getting-started.md`, and `index.md` to reflect the new file name and improve clarity in navigation.
- Removed the now obsolete `SERVICE-INSTALLATION.md` file, consolidating service installation instructions under the updated naming convention.
2026-02-16 17:11:51 -08:00
agessaman
cc91b6ee7a Refactor command configuration handling
- Standardized the configuration keys for various commands by replacing specific `*_enabled` keys with a unified `enabled` key across configuration files.
- Updated command classes to support fallback mechanisms for legacy configuration keys, ensuring backward compatibility.
- Enhanced the logic in the `BaseCommand` class to handle both standard and legacy keys for command enabling.
- Added tests to verify the correct behavior of the new configuration handling and legacy support for commands including Stats, Sports, Hacker, and Alert.
2026-02-12 20:51:52 -08:00
Adam Gessaman
40e30def2c feat: Implement per-user rate limiting for bot responses
- Added per-user rate limiting functionality to control the minimum time between bot replies to the same user, identified by public key or sender name.
- Updated configuration files to include `per_user_rate_limit_seconds` and `per_user_rate_limit_enabled` options for enabling and configuring this feature.
- Enhanced the command manager and message handler to support per-user rate limiting, ensuring efficient message handling and reduced spam.
- Updated documentation to reflect the new rate limiting options and their usage.
2026-02-11 09:13:24 -08:00
Adam Gessaman
ac2825a25d feat: Add channel keyword filtering to configuration
- Introduced `channel_keywords` option in the configuration files to limit bot responses in monitored channels to specified keywords, enhancing control over channel interactions.
- Updated relevant documentation and examples to reflect the new feature, ensuring users understand how to implement keyword restrictions.
- Modified the command manager to support the new keyword filtering logic, allowing for more efficient message handling in channels.
2026-02-09 11:56:43 -08:00
agessaman
d15c58994e chore: Remove outdated documentation files and update references
- Deleted COMMANDS.md, DOCKER.md, WEB_VIEWER.md, and other related documentation files to streamline the project structure.
- Updated README.md and other documentation references to point to the new locations of the command and Docker instructions.
- Added optional dependencies for documentation generation in pyproject.toml.
2026-02-07 20:10:09 -08:00
agessaman
e18b96f3df chore: Update configuration and documentation for Docker setup
- Added new configuration options in config.ini.example for monitoring channels, direct message responses, and banned users.
- Updated docker-setup.sh to clarify build and start commands for Docker containers, including options to avoid pull warnings.
- Revised README and DOCKER.md to reflect changes in Docker commands, emphasizing the importance of building the image before starting the container.
2026-01-17 09:40:16 -08:00
agessaman
61445b4811 feat: Update README and .gitignore for Docker deployment
- Added Docker deployment instructions to the README, including steps for creating data directories, updating configuration paths, and starting the application with Docker Compose.
- Updated .gitignore to include a new data directory structure, ensuring user-specific configurations, databases, and logs are ignored while maintaining the directory structure.
2026-01-17 08:34:38 -08:00
Adam Gessaman
c04ecd9ffd fix: Update escape sequence documentation for consistency
- Revised `config.ini.example` and `README.md` to clarify the usage of escape sequences for newlines, changing from double backslashes (`\\n`) to single backslashes (`\n`).
- Enhanced comments in `CommandManager` and `GreeterCommand` to reflect the updated escape sequence behavior, ensuring accurate processing of newline characters and literal backslashes.
- Improved logging in `GreeterCommand` for better debugging of mesh info formatting.
2026-01-13 10:55:59 -08:00
Adam Gessaman
ce561c18db feat: Enhance keyword response handling with escape sequence support
- Updated `config.ini.example` and `README.md` to document the use of escape sequences for newlines and other formatting in keyword responses.
- Implemented `_decode_escape_sequences` method in `CommandManager` to process escape sequences like `\\n`, `\\t`, and `\\r`, allowing users to format responses more flexibly.
- Modified `load_keywords` and `load_syntax_patterns` methods to decode escape sequences in keyword responses and formats, improving user experience.
2026-01-12 09:16:34 -08:00
agessaman
2cd24cda16 feat: Add minimal configuration example and update .gitignore
- Introduced a new minimal configuration file `config.ini.minimal-example` for users who only need core testing commands.
- Updated `.gitignore` to include `config.min.ini` to prevent accidental commits of sensitive configuration files.
2026-01-10 19:44:49 -08:00
agessaman
ca80924e38 feat: Enhance web viewer functionality and configuration options
- Updated `config.ini.example` to include a new option for additional hashtag channels to decode in the packet stream.
- Modified `BotDataViewer` to retrieve and display additional decode-only channels from the configuration.
- Improved packet handling in `message_handler.py` to capture full packet data for web viewer integration.
- Enhanced the web viewer's JavaScript to support detailed packet analysis and display, including color-coded hex breakdowns and improved user interface elements.
- Added new styles and scripts to the web viewer templates for better visual representation of packet data and improved user experience.
2026-01-10 16:39:07 -08:00
Tilman Baumann
18996cdd78 Adding webviewer nixos option and improving tests
Use with
services.meshcore-bot = {
  enable = true;
  webviewer.enable = true;
 }
2026-01-08 19:17:18 +01:00
agessaman
5b06289ac1 feat: Add Discord bridge configuration to example and update README
- Introduced a new section in `config.ini.example` for the Discord bridge service, including options for enabling the service and configuring avatar styles and channel mappings.
- Updated `README.md` to document the new Discord bridge service and its integration, enhancing the overall service plugin section with relevant details.
2026-01-04 10:30:14 -08:00
agessaman
e4e70930f9 Update README and enhance command functionality
- Updated README to specify submitting pull requests against the dev branch.
- Added per-trigger lockout tracking in AnnouncementsCommand to prevent duplicate sends within a 60-second window.
- Implemented dynamic maximum message length calculation in BaseCommand for better message formatting.
- Enhanced response handling in PrefixCommand to support message splitting based on calculated length.
2025-12-31 16:54:38 -08:00
agessaman
35bc6260a4 Enhance command configuration and logging for joke commands
- Added configuration sections for joke and dadjoke commands in config.ini.example, allowing channel restrictions for command usage.
- Updated BaseCommand to derive configuration section names for commands, improving consistency in command management.
- Implemented channel access checks in can_execute methods for JokeCommand and DadJokeCommand to ensure commands are only executed in allowed channels.
- Improved error logging in FeedManager and MessageScheduler to include database path information for better debugging.
2025-12-27 08:21:51 -08:00
agessaman
a2d207b0c5 Add packet capture service documentation to README 2025-12-21 18:58:44 -08:00
agessaman
7982cdce4c Add alert command configuration to config.ini.example and README. Update install-service.sh to support macOS and Linux service installations with improved user prompts and error handling. Enhance installation script with detailed steps for setting up the bot as a system service, including virtual environment creation and dependency installation. 2025-11-27 21:07:08 -08:00
agessaman
6b23f977f3 Update README and sports_command.py to enhance command descriptions and team ID stability. Expanded command help text for clarity, added new commands, and updated ESPN team IDs for accuracy. Included notes on verifying team IDs to prevent "no games found" errors. 2025-11-21 19:56:36 -08:00
agessaman
cc97c48bbf add initial tcp support to the bot 2025-11-06 20:06:18 -08:00
agessaman
f6ede4a90c Updated satpass command to default to radiopass api endpint by default. Included visual pass option to only return visual passes. Improved handling of satellite pass data, including better logging and validation for pass durations.s. 2025-11-06 10:13:21 -08:00
agessaman
9fca082e00 Update README.md to include new bot commands for gaming, entertainment, and sports, enhancing help documentation. 2025-10-09 21:23:08 -07:00
agessaman
b17016087b Add sender name to routing info logs 2025-09-06 18:38:38 -07:00
agessaman
694c5b0e04 attribution 2025-09-06 12:13:13 -07:00
agessaman
054652d73d Move meshcore_protocol.py to docs/local for reference
- Move meshcore_protocol.py to docs/local/ as it's not used by current bot
- Remove from git tracking (file was not referenced by any modules)
- Update README.md to remove protocol troubleshooting reference
- File preserved for potential future reference or development
- Current bot uses official meshcore library instead of custom protocol
2025-09-06 12:10:15 -07:00
agessaman
6aaabcafb2 Remove outdated bot_cli.py
- Remove bot_cli.py as it was incompatible with current architecture
- CLI was trying to call non-existent methods on MeshCoreBot class
- Add bot_cli.py to .gitignore to prevent future commits
- Update README.md to remove CLI references
- Bot management can be done through config.ini file editing
2025-09-06 12:07:59 -07:00
agessaman
4e1e2a8403 update wording 2025-09-06 12:03:43 -07:00
agessaman
f47bf87549 Update README.md to be factual and concise
- Remove promotional language and focus on technical details
- Update configuration examples to match actual config.ini structure
- Add accurate list of available commands
- Include proper template variables for keyword responses
- Add architecture section explaining plugin system
- Simplify installation and usage instructions
- Remove outdated protocol examples and focus on current functionality
- Add proper attribution to MeshLink bot by K7MHI Kelly Keeton
2025-09-06 11:46:00 -07:00
agessaman
9fa8b02be6 Initial commit: MeshCore Bot project 2025-09-04 15:33:51 -07:00