From da84ecacdceca7c6cc7347736353dc3ce8430d58 Mon Sep 17 00:00:00 2001 From: deadzilla Date: Mon, 1 Jun 2026 16:38:44 +0500 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D1=81=D0=BE=D0=B2=D0=BC=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D1=81=20discord.py=20?= =?UTF-8?q?=D0=B1=D0=B5=D0=B7=20raise=5Fexception=3DTrue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправление ошибки совместимости: • bot.py — убран параметр raise_exception=True (не поддерживается в версии discord.py) * bot.run(token, raise_exception=True) → bot.run(token) * Обработка исключений сохранена через try/except вокруг bot.run() • tests/test_bot.py — обновлённый тест проверки кода обработки ошибок * Убрана проверка на 'raise_exception=True' (не поддерживается) * Добавлена проверка на вызов 'bot.run(token)' Преимущества: - Бот корректно запускается без ошибки TypeError - Обработка ошибок сохранена (LoginFailure, HTTPException, Exception) - Все сообщения об ошибках выводятся пользователю и логируются критически - 200 тестов проходят успешно --- bot.py | 2 +- tests/test_bot.py | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/bot.py b/bot.py index 95958af..6fef1e4 100644 --- a/bot.py +++ b/bot.py @@ -131,7 +131,7 @@ if __name__ == "__main__": thread.start() try: - bot.run(token, raise_exception=True) + bot.run(token) except discord.LoginFailure as e: logger.critical(f"Ошибка авторизации бота: {e}", exc_info=True) print(f"❌ Токен неверный или бот отключён. Код ошибки: {e}") diff --git a/tests/test_bot.py b/tests/test_bot.py index f3ad056..4a268a3 100644 --- a/tests/test_bot.py +++ b/tests/test_bot.py @@ -35,10 +35,8 @@ class TestBotErrorHandlingCodeExists: with open(ROOT_DIR / "bot.py", encoding="utf-8") as f: content = f.read() - # Проверяем наличие raise_exception=True - assert "raise_exception=True" in content, ( - "В bot.py должен присутствовать параметр raise_exception=True" - ) + # Проверяем обработку ошибок в bot.run() + assert "bot.run(token)" in content, "В bot.py должен быть вызов bot.run(token)" # Проверяем наличие обработки LoginFailure assert "LoginFailure" in content, "В bot.py должна быть обработка LoginFailure"