Commit Graph

61 Commits

Author SHA1 Message Date
agessaman f162336d44 updated documentation about placeholders in responses, improvements to path data in webviewer 2025-11-11 20:18:01 -08:00
agessaman 46f04fbbe5 switched from using the bot's local time instead of the message sent time for keyword replacement 2025-11-11 09:36:29 -08:00
agessaman 237ca5a176 fixed recursion when response format is not configured 2025-11-11 08:57:30 -08:00
agessaman fd7f64c346 Add max prefix range configuration and distance filtering in PrefixCommand 2025-11-09 21:14:44 -08:00
agessaman e2fb2d8cf7 fixed situation where 0 free prefixes was being interpreted as an error instead of data 2025-11-08 08:23:11 -08:00
agessaman e114de7947 Implement companion contact purging and configurable recency/proximity weighting
- Added configuration options for companion contact purging, including thresholds for inactivity based on direct messages and advertisements.
- Enhanced the RepeaterManager to support automatic purging of companions when contact limits are exceeded.
- Updated PathCommand to utilize configurable recency/proximity weighting for improved path routing decisions.
- Introduced new commands for purging companions and updated existing commands to handle companion purging logic.
- Added API endpoint for manual geocoding of contacts and improved web viewer functionality for geocoding contacts.
2025-11-06 20:58:52 -08:00
agessaman b47355fded get next forecast instead of assuming tomorrow 2025-11-06 19:59:32 -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 b3ddef401c Add prefix time window configuration options
- Introduced `prefix_heard_days` and `prefix_free_days` settings in the configuration to define time windows for showing heard and free prefixes.
- Updated `PrefixCommand` to utilize these new settings for filtering repeaters based on their last heard time.
2025-11-02 21:41:21 -08:00
agessaman b773dcd0a1 Update help text in PrefixCommand to include 'available' as an option for listing free prefixes and adjust command handling to recognize 'AVAILABLE' alongside 'FREE'. 2025-11-02 16:41:21 -08:00
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 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 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 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