Skip to content

feat(weather): flexible forecast scheduling (multiple times, intervals)#200

Open
xoma4ok wants to merge 10 commits into
agessaman:devfrom
xoma4ok:weather-schedule
Open

feat(weather): flexible forecast scheduling (multiple times, intervals)#200
xoma4ok wants to merge 10 commits into
agessaman:devfrom
xoma4ok:weather-schedule

Conversation

@xoma4ok

@xoma4ok xoma4ok commented Jun 16, 2026

Copy link
Copy Markdown

Replaces the single fixed-time weather_alarm with a flexible schedule parser supporting multiple formats:

  • Multiple fixed times: weather_alarm = 6:00, 12:00, 18:00
  • Intervals: every 2 hours, every 30 minutes, @hourly
  • Existing formats unchanged: single time (6:00, 0600), sunrise, sunset

Implementation:

  • Extracted schedule parsing into a dedicated weather_alarm_schedule.py module (WeatherAlarmSchedule dataclass + parser)
  • Interval schedules now use APScheduler's IntervalTrigger instead of CronTrigger, so periods are counted from bot start rather than pinned to clock boundaries
  • WeatherService registers one APScheduler job per configured time for fixed mode, or a single interval job
  • Invalid config values fall back to 6:00 with a warning log

Tests: 12 unit tests covering all schedule modes and trigger types.

BenCos17 and others added 10 commits April 25, 2026 22:43
adds the repo url in the git clone part
Fix scope handling behavior and improve logging options for packet capture service.
- Enhanced the command reference with detailed descriptions for `cmd`, `version`, `weather`, and `path` commands, including usage examples and configuration options.
- Added new `RandomLine` command documentation for configurable triggers.
- Updated configuration documentation to reflect the deprecation of the global `[Aliases]` section, encouraging per-command alias definitions.
- Clarified the `[Rate_Limits]` and `[Webhook]` sections in the configuration guide.
- Improved the web viewer documentation, emphasizing security practices and configuration options.
…age formatting

- Implemented suppression of Discord mention notifications for bridged messages by setting `allowed_mentions` to an empty list, ensuring that mentions like `@everyone` and `@here` are displayed as plain text.
- Updated documentation to reflect this change and clarify the formatting of mentions in bridged messages.
- Adjusted payload structure in the Discord webhook integration to include `allowed_mentions` for better control over message parsing.
- Enhanced unit tests to verify the inclusion of `allowed_mentions` in the message payload.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants