Commit Graph
64 Commits
Author SHA1 Message Date
agessaman 4f195b050e added configuration option for path guessing symbols 2025-10-27 14:10:12 -07:00
agessaman acd17621a6 Enhance RepeaterManager with daily advertisement tracking and statistics
- Added a new 'daily_stats' table for tracking daily advertisement statistics.
- Implemented methods to track daily advertisement counts and retrieve statistics over specified date ranges.
- Updated existing advertisement tracking logic to utilize the new daily statistics.
- Modified web viewer to display advertisement metrics using the new daily tracking data.
- Improved path command logic to prioritize database queries over API cache for path decoding.
2025-10-24 22:27:25 -07:00
agessaman 836af3341a - Renamed 'modern_tracking.html' to 'contacts.html' for clarity in web viewer.
- Updated routes in 'app.py' to reflect the new contacts template.
- Enhanced 'sports_command.py' adding support for additional Portland teams
- Improved game data fetching logic to check multiple dates for recent and upcoming games.
2025-10-22 21:49:12 -07:00
agessaman 2b9ee79f23 remove purging template stub 2025-10-21 22:07:50 -07:00
agessaman 7bb51f219b Web Viewer Integration
- Add Flask + Flask-SocketIO web viewer with dashboard (modules/web_viewer/app.py and related)
- Add web viewer templates: index, realtime, tracking (contacts), cache, purging, stats (modules/web_viewer/templates/)
- Add integration hooks and utility functions for web viewer (modules/web_viewer/integration.py, modules/utils.py)
- Add command to launch web viewer from bot CLI (modules/commands/webviewer_command.py)
- Update .gitignore: ignore db/log files, test scripts, and web viewer artifacts
- Add restart_viewer.sh helper script for standalone web viewer restart/troubleshooting
- Add guidance and documentation for modern viewer in WEB_VIEWER.md and docs/
- Various code structure and import improvements to core bot and command modules to support integration
- Add ACL support for sensitive commands
- Example config updates

Benefits:
- Decouples monitoring/UI from bot core process
- Enables real-time browser dashboard and unified contact/repeater tracking
- Easier integration, dev, and troubleshooting
2025-10-21 21:57:00 -07:00
agessaman f524b3109d removed hardcoded reference to map.w0z.is, updated the path command to try to resolve prefix collisions using proximity and recency 2025-10-18 18:24:22 -07:00
agessaman 4adf9fe301 Updated database schema for complete contact tracking and optimized handling of repeater commands. Revised method for removing contacts from the device to use meshcore.py. 2025-10-18 17:16:50 -07:00
agessaman fea21b85bd initial update to include proximity-based path resolution 2025-10-18 14:46:31 -07:00
agessaman 8cd78e7033 added command to respond to some unix commands in chat with humorous responses. Off by default. 2025-10-12 19:34:06 -07:00
agessaman 17f5665a77 Add geolocation update functionality to repeater command 2025-10-12 19:09:23 -07:00
agessaman d2152fac41 update sports command for baseball to show top/bottom of inning 2025-10-10 22:29:19 -07:00
agessaman aff563f312 fixed stats trigger to only respond to first word 2025-10-09 21:38:44 -07:00
agessaman b067ba42e1 clean up channels command implementation and output 2025-10-08 18:43:52 -07:00
agessaman ae43a53793 added option to geolocate repeaters by their location, used by the prefix command 2025-10-07 17:29:58 -07:00
agessaman 52c7e5fa31 added channel overrides for sports command; updated channels command; added stats command; consolidated t_phrase as a shortcut to test; added scheduled adverts 2025-10-05 16:09:39 -07:00
agessaman 0ced52b2a2 Refactor Path Command to enhance path decoding and response handling 2025-10-04 09:47:40 -07:00
agessaman cdcbf7a25b added channels command to share common channels, updated the satpass command to have common shortcuts 2025-10-01 18:43:00 -07:00
agessaman cf46a7b1de Enhance SportsCommand with women's league support and date formatting improvements 2025-09-30 20:48:20 -07:00
agessaman 82ee7fd793 improved zipcode handling in aqi command, improved emoji handling in hello command 2025-09-28 15:20:25 -07:00
agessaman e292b6e040 Update AQI command to use OpenMeteo API and enhance location handling 2025-09-27 12:39:33 -07:00
agessaman 576c93ad06 updates to fix formatting in sports command 2025-09-25 19:20:11 -07:00
agessaman f0b93d80e9 add dice and roll commands, fixed sports command home/away ordering. 2025-09-23 21:18:28 -07:00
agessaman a2a66006ed fix keyword matching 2025-09-21 11:31:52 -07:00
agessaman 025d3d539f Refactor command syntax and enhance test command functionality
- Updated the test command response format to include optional phrases.
- Removed the at_phrase command and its references from the command manager and help command.
- Adjusted configuration examples to reflect the new syntax for message acknowledgments.
- Enhanced the sports command with additional WNBA team support and improved city mappings for team searches.
2025-09-17 21:12:43 -07:00
agessaman 9aaf29a988 Add NWSL team support and enhance soccer score formatting in SportsCommand
- Introduced custom team abbreviations for NWSL teams to differentiate from MLS.
- Added functionality to retrieve city-specific teams and their scores.
- Improved score formatting for soccer games to display home and away teams correctly.
- Updated game status messages to reflect the correct home/away format for soccer.
- Enhanced keyword matching for city searches to return multiple teams.
2025-09-16 18:07:35 -07:00
agessaman d7eab28395 improved repeater purge, implement sports command, and improve message path detection. 2025-09-16 16:36:02 -07:00
agessaman 7445e2ad10 first draft of a sports command using the ESPN endpoints 2025-09-13 13:35:35 -07:00
agessaman be630c00e6 Enhance joke command with length handling and update configuration settings for jokes. Modify help command to support message context for help text retrieval. 2025-09-09 21:28:07 -07:00
agessaman 5d89778ad8 Add joke command settings and enhance weather command keyword matching 2025-09-08 20:13:17 -07:00
agessaman 948828cf30 Add DM retry settings and improve message sending reliability with meshcore-2.1.6+ integration 2025-09-07 19:52:31 -07:00
agessaman 01d6fc1de6 Fix scheduled messages posting to wrong channel 2025-09-07 17:33:26 -07:00
agessaman dec697b087 Add configurable transmission delay to prevent message collisions 2025-09-07 16:17:09 -07:00
agessaman 845d5fb4b0 Add total count context to 'prefix free' command 2025-09-07 16:08:20 -07:00
agessaman 1ad3472d54 Fix repeater command to only work in DMs and at beginning of messages 2025-09-07 15:55:13 -07:00
agessaman 7b6ddc97fc Update invalid prefix format message to clarify usage example 2025-09-07 15:49:21 -07:00
agessaman d3ce007eed Fix @ command to only match at beginning of messages 2025-09-07 15:48:52 -07:00
agessaman 69bac5585f Restrict prefix command to beginning of messages only 2025-09-07 15:44:25 -07:00
agessaman 41205fb2f4 added prefix command to check usage of prefixes and list free prefixes 2025-09-07 15:26:01 -07:00
agessaman cb6a319b1b Add random selection to 'prefix free' command 2025-09-07 15:18:18 -07:00
agessaman 226fa8ee76 Fix 'prefix free' command accuracy 2025-09-07 15:16:46 -07:00
agessaman 5e0c937df2 Add 'prefix free' command to list available prefixes 2025-09-07 15:14:35 -07:00
agessaman 39c7aedc05 Make API source dynamic based on configured URL 2025-09-07 15:10:55 -07:00
agessaman 20d59c2452 Improve prefix command response formatting 2025-09-07 15:07:53 -07:00
agessaman f4bddd1ec4 Add database fallback to prefix command
- Prefix command now falls back to local SQLite database when API is unavailable
- Queries repeater_contacts table for repeaters matching prefix pattern
- Uses public_key LIKE 'prefix%' to find repeaters by first two characters
- Only returns active repeaters (is_active = 1)
- Adds device type indicators: (Repeater) or (Room Server)
- Response indicates data source: 'API cache' vs 'local database (offline mode)'
- Updated help text to mention database fallback capability
- Tested with sample data: correctly finds repeaters by prefix
- Provides offline functionality when API is down or network unavailable
- Maintains API-first approach with intelligent fallback
2025-09-07 15:01:10 -07:00
agessaman d695d0177a added prefix command that accesses MeshExplorer with configurable endpoint 2025-09-07 14:57:31 -07:00
agessaman 9cf17e9145 Fix scheduled messages and add debugging 2025-09-07 10:49:12 -07:00
agessaman ef02529a4b make @ command work in public channels 2025-09-07 10:45:43 -07:00
agessaman 5193272b0d Fix @ command to work in public channels 2025-09-07 10:45:12 -07:00
agessaman 40326409b6 Improve ping keyword matching with precise word boundaries 2025-09-06 18:52:21 -07:00
agessaman b17016087b Add sender name to routing info logs 2025-09-06 18:38:38 -07:00