From c4bdd49a6628b3ecad695c423ea3cfa7090032f7 Mon Sep 17 00:00:00 2001 From: HypoxiE Date: Fri, 22 Aug 2025 14:45:54 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B1=D0=B0=D0=B1=D0=BB=D0=B8=D0=BE=D1=82=D0=B5?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D1=8B=20=D0=B2=20=D0=B3=D0=BE=D0=BB=D0=BE=D1=81=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | Bin 426 -> 994 bytes src/CoreMod.py | 19 ++++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/requirements.txt b/requirements.txt index 74a9f0f36f66370a3a94769cbd9c3b2df227c1e4..5a979cad9f35ce01f4a657a702243f391e784a18 100644 GIT binary patch literal 994 zcmZ9L-A=+#5QO*I#7Du^Z>NmSRG@6qZ$j;8p&RKrG zS5{eTueP#|^J%3&FZ|wfdb{T2c4ikmnVs4RmFO63phNYA*M!QzPM99#)*9y$E(0O# zU(6di6%(y_^~+II z3%C!ivO!7xIhEX1mY{M{&~$}uIDwGU%r5;MHDxJ<5~dl>TYlA^L1kaAAZDosr@Gd# z^`6uYL@0|_{v&ni?WyhID{SYO$o&dT_}`$^x<=!f_G3!&D2IXCf+{(}$YXM&`&;;Y z6@GMUsUjb8S(E$T^O4_T?A2yylBHuBFtu+|nj*GG{hj;k=v?udcbWD86D4kHl>h}tTKe>}sU~spZ}a`X?J?hcDF+;I z@i8{%20d%5JnKZoxl!AJp9l@todn8;iaBpV(q|&~XL*RS?RcbE5hg;uH z)~)c^p;153IPmztaFQ536Z?ICeSSp#wRMoulT{QK_@(N_=(RK*1=IS&Dx`)vF>}&( U;_rKn5ig_Aq&$4>=N@F+KQL;6SpWb4 diff --git a/src/CoreMod.py b/src/CoreMod.py index b989175..f2e56cd 100644 --- a/src/CoreMod.py +++ b/src/CoreMod.py @@ -1,3 +1,6 @@ +import logging +logging.basicConfig(level=logging.INFO, force=True, format="%(asctime)s %(levelname)s: %(message)s", datefmt="%d-%m-%Y %H:%M:%S") + import inspect import disnake from disnake.ext import commands @@ -12,7 +15,6 @@ from fnmatch import fnmatch import traceback import json import re -import logging from constants.global_constants import * from libs.tokens_formatter import TOKENS @@ -27,8 +29,7 @@ from sqlalchemy.schema import CreateTable import tldextract - -logging.basicConfig(level=logging.INFO, force=True, format="%(asctime)s %(name)s %(levelname)s: %(message)s", datefmt="%H:%M:%S") +logger = logging.getLogger(__name__) class AnyBots(commands.Bot): logger = logging.getLogger(__name__) @@ -324,7 +325,7 @@ class MainBot(AnyBots): try: return await func(*args, **kwargs) except Exception: - logging.exception(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: [ERROR] {func.__name__}:\n{traceback.format_exc()}") + logger.exception(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: [ERROR] {func.__name__}:\n{traceback.format_exc()}") return wrapper @tasks.loop(seconds=30) @@ -645,19 +646,19 @@ async def run_bot(bot, token, stop_event): try: await bot.start(token) except Exception as e: - logging.exception(f"Бот {bot.user.name if hasattr(bot, 'user') else 'Unknown'} упал с ошибкой: {e}") + logger.exception(f"Бот {bot.user.name if hasattr(bot, 'user') else 'Unknown'} упал с ошибкой: {e}") stop_event.set() # Сигнализируем об остановке async def monitor_stop(stop_event, bots): await stop_event.wait() - logging.info(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: Получен сигнал остановки, завершаю всех ботов...") + logger.info(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: Получен сигнал остановки, завершаю всех ботов...") for bot in bots: if not bot.is_closed(): try: await bot.close() except Exception as e: - logging.exception(f"Ошибка при закрытии бота: {e}") + logger.exception(f"Ошибка при закрытии бота: {e}") await asyncio.sleep(0.1) @@ -689,9 +690,9 @@ async def main(): await asyncio.gather(*bot_tasks, monitor_task) except KeyboardInterrupt: - logging.info("Боты остановлены по запросу пользователя") + logger.info("Боты остановлены по запросу пользователя") except Exception as e: - logging.exception(f"Произошла критическая ошибка: {e}") + logger.exception(f"Произошла критическая ошибка: {e}") finally: if bot is not None: await bot.BotOff()