diff --git a/scheduler.py b/scheduler.py index 104a46a..4659bf5 100644 --- a/scheduler.py +++ b/scheduler.py @@ -53,22 +53,20 @@ SCHEDULED_EVENTS = [ ] -def get_next_datetime(now: datetime.datetime, target_day: int, hour: int, minute: int) -> datetime.datetime: - """ - Возвращает ближайшую дату/время (timezone-aware, MSK) для target_day/hour/minute, - начиная от 'now'. - """ +def get_next_datetime(now, target_day, hour, minute): days_ahead = (target_day - now.weekday()) % 7 target_date = (now + datetime.timedelta(days=days_ahead)).date() - return datetime.datetime( + + naive = datetime.datetime( target_date.year, target_date.month, target_date.day, hour, - minute, - tzinfo=MOSCOW_TZ + minute ) + return MOSCOW_TZ.localize(naive) + # Этот объект будет заполнен из main.py event_loop_context = {}