Improve visual
This commit is contained in:
@@ -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")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user