agessaman
82aa5ee160
Add greeter command configuration to config.ini.example and implement greeter functionality in message handling. Introduce favorite status management for repeaters, allowing users to toggle favorite status via API. Update path command and test command to incorporate favorite bias in scoring. Enhance database schema to support star status tracking for repeaters and roomservers.
2025-11-25 17:26:40 -08:00
agessaman
732b7551ba
Enhance message handling and repeater management by adding packet_hash support for tracking advertisements. Implement geocoding cache to prevent duplicate API calls based on packet_hash, improving efficiency in location data retrieval. Update relevant methods to accept packet_hash and ensure proper handling in geocoding logic.
2025-11-23 11:45:31 -08:00
agessaman
9d2d0e325c
Add hourly weather forecast support to WxCommand. Updated response formatting to prioritize current conditions and additional details while ensuring display width constraints are respected. Improved observation data retrieval for more accurate current conditions.
2025-11-22 12:13:42 -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
bfd3336fe6
Removed connection toast as redundant.
2025-11-21 19:17:51 -08:00
agessaman
acc599c112
Initialize packet_stream table for real-time monitoring in the database. Added methods to create the table and relevant indexes in both BotDataViewer and BotIntegration classes, ensuring robust data handling and logging for initialization errors.
2025-11-21 19:07:44 -08:00
agessaman
6c660dc14c
Enhance configuration and command files to support new distance metrics in message responses. Updated Keywords section to include {path_distance} and {firstlast_distance} placeholders. Refactored distance calculation methods into utils and improved path command logic for better accuracy in distance reporting. Added detailed logging for packet hash calculations and message handling in multitest command.
2025-11-20 21:41:10 -08:00
agessaman
0ec60e48c2
Add multitest functionality to message handler for path collection and implement packet hash calculation for message tracking. Updated translations to support multitest commands.
2025-11-18 20:11:11 -08:00
agessaman
412883ac67
Enhance weather command functionality by adding support for multi-day and tomorrow forecasts. Updated parsing logic to handle forecast type options and improved response formatting. Integrated new weather data retrieval methods for both local and global commands, ensuring consistent user experience across different locales. Added localization support for new forecast messages in multiple languages.
2025-11-18 18:51:10 -08:00
agessaman
7e2c478662
Implement localization support across various commands and configuration. Added language settings in config.ini.example, integrated translation functionality in command responses, and enhanced error handling with localized messages. Improved fallback mechanisms for missing translations and updated help text for better user guidance.
2025-11-16 20:17:58 -08:00
agessaman
46cbf3ffea
Add solarforecast command using forecast.solar. Add Forecast.Solar API key configuration to example file and implement major city geocoding queries in utils module for improved location resolution.
2025-11-15 20:49:51 -08:00
agessaman
ed7f5691c7
Add support for plugin overrides in configuration, allowing alternative plugin implementations. Enhanced weather display settings with configurable units for temperature, wind speed, and precipitation. Updated repeater_manager to improve contact removal logic with better error handling and logging.
2025-11-15 15:07:43 -08:00
agessaman
a93ce069a7
Added backwards compatability helper function and migrated some config headers to be more consistent.
2025-11-14 19:01:28 -08:00
agessaman
e0df11724f
update path command to have an optional p shortcut, enabled via config.ini; updated catfacts to have more and more accurate facts.
2025-11-14 18:40:25 -08:00
agessaman
d963e75473
improvements to geocoding management in repeater_manager and path guessing in path command
2025-11-13 20:43:45 -08:00
agessaman
f37e99f446
Refactor companion purging logic in RepeaterManager to use activity scoring for better accuracy. Enhanced logging for debugging and improved handling of contact removal with verification steps.
2025-11-12 18:33:50 -08:00
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
9ea71d5414
Add format_keyword_response method to CommandManager for consistent message formatting
2025-11-11 09:13:32 -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
72bc36f081
Enhance geocoding functionality and logging in RepeaterManager and BotDataViewer
2025-11-06 21:38:33 -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
cc97c48bbf
add initial tcp support to the bot
2025-11-06 20:06:18 -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
ee0ceb667b
resolve edge case where get_channel_number() would return zero and the bot would respond in the public channel despite being unconfigured.
2025-11-02 16:57:25 -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
47a578dfa2
update all nominatim lookups to use 10 second timeout; add repeater database management command documentation
2025-10-31 22:14:02 -07:00
agessaman
972474d040
Fix BLE connection parameter in core.py to use the correct variable name for device name.
2025-10-29 21:41:29 -07: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
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