I add command /id and /dowmp3 for dowload video with Youtube and i improve code.

It's version 0.2.0
This commit is contained in:
Niken
2025-10-04 18:56:50 +03:00
parent 7702c9a85b
commit 5197518029
10 changed files with 400 additions and 85 deletions
+6 -8
View File
@@ -1,5 +1,4 @@
import asyncio
import hashlib
from datetime import datetime, timedelta
from random import randint
from aiogram import Bot
@@ -47,7 +46,7 @@ class WatcherService:
while self.state.watcher_work:
try:
await self._check_all_groups()
delay = randint(600, 700)
delay = randint(Config.WATCHER_BASE_DELAY, Config.WATCHER_BASE_DELAY + 100)
await asyncio.sleep(delay)
except asyncio.CancelledError:
break
@@ -55,7 +54,8 @@ class WatcherService:
logger.error(f"Ошибка в watcher_loop: {e}")
await asyncio.sleep(60)
def _get_target_day(self) -> datetime:
@staticmethod
def _get_target_day() -> datetime:
"""Получение целевого дня"""
now = datetime.now()
target = now + timedelta(days=1)
@@ -69,14 +69,12 @@ class WatcherService:
day = self._get_target_day()
for group, chat_id in Config.GROUP_CHATS.items():
await self._check_group_schedule(group, chat_id, day)
logger.info(f"Проверяем расписание для {group} на {day.strftime('%d.%m.%Y')}")
await self._check_group_schedule(group, chat_id, day.day)
async def _check_group_schedule(self, group: str, chat_id: int, day: int):
"""Проверка расписания для конкретной группы"""
logger.info(f"Проверяем расписание для {group} на {day.strftime('%d.%m.%Y')}")
clip_png, url, data_day, data_mouth = await self.schedule_service.get_schedule(group, day.day)
clip_png, url, data_day, data_mouth = await self.schedule_service.get_schedule(group, day)
if clip_png:
msg = await self.bot.send_photo(
chat_id,