Improve visual

This commit is contained in:
Yuriy Yuriev
2026-05-16 15:51:19 +07:00
parent 7d28ba794b
commit 2f163aaa3e
8 changed files with 906 additions and 132 deletions
+29 -4
View File
@@ -94,19 +94,21 @@ class BotApplication:
return
restored = 0
notify_users: dict = {} # user_id -> chat_id
for task_id, params in saved_tasks.items():
if params.stopped:
continue
# Задачи с лимитом времени, завершившиеся нормально — не восстанавливаем
if params.completed and params.monitor_minutes > 0:
continue
# Сбрасываем некорректный completed (баг IRC) для бесконечных задач
if params.completed:
params.completed = False
params.paused = False
# Все восстановленные задачи ставим на паузу
params.paused = True
await self.interface.task_manager.add_task(task_id, params)
if params.task_type == "twitch_irc" and params.chat_id:
msg_mock = SimpleNamespace(
chat=SimpleNamespace(id=params.chat_id),
@@ -119,6 +121,29 @@ class BotApplication:
metadata={'type': 'twitch_irc', 'channel': params.channel, 'chat_id': params.chat_id}
)
restored += 1
elif params.task_type == "user_visit" and params.chat_id:
await self.background_tasks.start_task(
task_id=task_id,
coro=self.interface._run_url_visits(task_id, params, self.bot),
task_type="user_visit",
metadata={'type': 'user_visit', 'url': params.url, 'chat_id': params.chat_id}
)
restored += 1
if params.user_id and params.chat_id:
notify_users[params.user_id] = params.chat_id
# Уведомляем пользователей о рестарте
for uid, chat_id in notify_users.items():
try:
await self.bot.send_message(
chat_id,
"🔄 Бот был перезапущен\n\n"
"Ваши задачи приостановлены.\n"
"Нажмите ▶️ в списке задач для возобновления."
)
except Exception as e:
logger.warning(f"Failed to notify user {uid}: {e}")
logger.info(f"🔄 Restored {restored} tasks")