From 6edcebe51f4c8360518cc294e857b224d81bb679 Mon Sep 17 00:00:00 2001 From: "Andrew K. Choi" Date: Mon, 17 Nov 2025 14:59:41 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D0=B0=D1=8F=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B8=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Каждое удаление теперь в отдельном try-except - Если сообщение не найдено - продолжаем удаление остальных - Не показываем пользователю ошибки 'message not found' - Всегда удаляем команду админа даже при ошибках --- .bot.pid | 2 +- src/handlers/message_management.py | 34 +++++++++++++++++------------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/.bot.pid b/.bot.pid index 630d3f8..6b0fd31 100644 --- a/.bot.pid +++ b/.bot.pid @@ -1 +1 @@ -1052888 +1055128 diff --git a/src/handlers/message_management.py b/src/handlers/message_management.py index 52c588e..c0ce416 100644 --- a/src/handlers/message_management.py +++ b/src/handlers/message_management.py @@ -144,31 +144,35 @@ async def quick_delete_replied_message(message: Message): ) # Удаляем исходное сообщение (на которое ответили) - await replied_msg.delete() + try: + await replied_msg.delete() + except Exception as e: + logger.warning(f"Не удалось удалить исходное сообщение: {e}") # Удаляем команду админа - await message.delete() + try: + await message.delete() + except Exception as e: + logger.warning(f"Не удалось удалить команду админа: {e}") # Если было broadcast удаление - показываем статистику if deleted_count > 0: - status_msg = await message.answer( - f"✅ Сообщение удалено у {deleted_count} получателей", - reply_to_message_id=None - ) - # Удаляем статус через 3 секунды - import asyncio - await asyncio.sleep(3) try: + status_msg = await message.answer( + f"✅ Сообщение удалено у {deleted_count} получателей", + reply_to_message_id=None + ) + # Удаляем статус через 3 секунды + import asyncio + await asyncio.sleep(3) await status_msg.delete() - except: - pass + except Exception as e: + logger.warning(f"Не удалось показать/удалить статус: {e}") except Exception as e: logger.error(f"Ошибка при быстром удалении сообщения: {e}") try: - await message.answer( - f"❌ Не удалось удалить: {str(e)}", - reply_to_message_id=message.message_id - ) + # Пытаемся удалить хотя бы команду админа + await message.delete() except: pass