diff --git a/services/scheduler.py b/services/scheduler.py
index 3bc0920..2872a58 100644
--- a/services/scheduler.py
+++ b/services/scheduler.py
@@ -21,7 +21,7 @@ class Scheduler:
def __init__(self, bot):
self.bot = bot
- self.scheduler = AsyncIOScheduler()
+ self.scheduler = AsyncIOScheduler(timezone='Europe/Ulyanovsk')
def start(self):
"""Запуск планировщика"""
@@ -141,25 +141,24 @@ class Scheduler:
)
logger.info('✅ Добавлена задача ежедневного прогноза погоды для админа')
- # Еженедельный прогноз в чат по понедельникам (в 09:00)
- self.scheduler.add_job(
- self.monday_chat_weather,
- CronTrigger.from_crontab('0 9 * * 1'), # Пн в 09:00
- id='monday_chat_weather',
- name='Прогноз погоды в чат (Понедельник)',
- replace_existing=True
- )
- logger.info('✅ Добавлена задача прогноза погоды в чат по понедельникам')
-
- # Еженедельный прогноз в чат по четвергам (в 09:00)
- self.scheduler.add_job(
- self.thursday_chat_weather,
- CronTrigger.from_crontab('0 9 * * 4'), # Чт в 09:00
- id='thursday_chat_weather',
- name='Прогноз погоды в чат (Четверг)',
- replace_existing=True
- )
- logger.info('✅ Добавлена задача прогноза погоды в чат по четвергам')
+ # [ОТКЛЮЧЕНО ПО ТЗ] Еженедельный прогноз в чат по понедельникам и четвергам отключен для группы дома
+ # Жильцы начали активнее общаться, прогноз погоды в общей группе больше не требуется.
+ # Личный прогноз для Александра (daily_admin_weather) выше остается активным.
+ # self.scheduler.add_job(
+ # self.monday_chat_weather,
+ # CronTrigger.from_crontab('0 9 * * 1'),
+ # id='monday_chat_weather',
+ # name='Прогноз погоды в чат (Понедельник)',
+ # replace_existing=True
+ # )
+ # self.scheduler.add_job(
+ # self.thursday_chat_weather,
+ # CronTrigger.from_crontab('0 9 * * 4'),
+ # id='thursday_chat_weather',
+ # name='Прогноз погоды в чат (Четверг)',
+ # replace_existing=True
+ # )
+ logger.info('ℹ️ Прогноз погоды в общий чат дома отключен по требованию председателя')
# Еженедельный дайджест Александра (суббота в 08:00)
self.scheduler.add_job(
@@ -550,8 +549,17 @@ class Scheduler:
"""Прогноз в чат по понедельникам (на 3 дня)"""
try:
from services.weather import WeatherService
- from config import ADMIN_CHAT_ID
+ from config import ADMIN_CHAT_ID, ADMIN_USER_ID
forecast = await WeatherService.get_3day_forecast()
+ if not forecast or forecast.startswith("❌"):
+ logger.warning(f"Monday weather forecast failed: {forecast}")
+ await self.bot.send_message(
+ ADMIN_USER_ID,
+ f"⚠️ Внимание: Не удалось сгенерировать прогноз погоды на понедельник для общего чата:\n{forecast}",
+ parse_mode='HTML'
+ )
+ return
+
await self.bot.send_message(
ADMIN_CHAT_ID,
forecast,
@@ -565,8 +573,17 @@ class Scheduler:
"""Прогноз в чат по четвергам (на остаток недели и выходные)"""
try:
from services.weather import WeatherService
- from config import ADMIN_CHAT_ID
+ from config import ADMIN_CHAT_ID, ADMIN_USER_ID
forecast = await WeatherService.get_thursday_weekend_broadcast()
+ if not forecast or forecast.startswith("❌"):
+ logger.warning(f"Thursday weather forecast failed: {forecast}")
+ await self.bot.send_message(
+ ADMIN_USER_ID,
+ f"⚠️ Внимание: Не удалось сгенерировать прогноз погоды на четверг для общего чата:\n{forecast}",
+ parse_mode='HTML'
+ )
+ return
+
await self.bot.send_message(
ADMIN_CHAT_ID,
forecast,