From 2c93ded02811df7496b89e54f6f3b06bb9ab0908 Mon Sep 17 00:00:00 2001 From: HypoxiE Date: Fri, 22 Aug 2025 14:41:39 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B0=D0=BD=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9?= =?UTF-8?q?=D1=81=20=D0=BB=D0=BE=D0=B3=D0=B3=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/CoreFun.py | 30 ++++++++++++++++-------------- src/cogs/admin.py | 2 +- src/cogs/designer.py | 2 +- src/cogs/economy.py | 2 +- src/cogs/resetsupcommands.py | 6 +++--- src/cogs/rimagochi.py | 2 +- src/cogs/roles.py | 2 +- src/test.py | 6 +++--- 8 files changed, 27 insertions(+), 25 deletions(-) diff --git a/src/CoreFun.py b/src/CoreFun.py index 0923b0c..018e880 100644 --- a/src/CoreFun.py +++ b/src/CoreFun.py @@ -1,4 +1,6 @@ import logging +logging.basicConfig(level=logging.INFO, force=True, format="%(asctime)s %(name)s %(levelname)s: %(message)s", datefmt="%d-%m-%Y %H:%M:%S") + import typing import disnake from disnake.ext import commands @@ -33,10 +35,10 @@ from sqlalchemy.schema import CreateTable import gspread from google.oauth2.service_account import Credentials -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): - logging = logging + logger = logging.getLogger(__name__) ''' @@ -57,7 +59,7 @@ class AnyBots(commands.Bot): async def on_ready(self, inherited = False): self.krekchat = await self.fetch_guild(constants["krekchat"]) - logging.info(self.krekchat.name) + self.logger.info(self.krekchat.name) self.sponsors = [disnake.utils.get(self.krekchat.roles, id=i) for i in constants["sponsors"]] self.mutes = [disnake.utils.get(self.krekchat.roles, id=i) for i in constants["mutes"]] self.ban_role = disnake.utils.get(self.krekchat.roles, id=constants["ban_role"]) @@ -75,7 +77,7 @@ class AnyBots(commands.Bot): await self.change_presence(status=disnake.Status.online, activity=disnake.Game("Работаю")) if not inherited: - logging.info(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: KrekFunBot activated") + self.logger.info(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: KrekFunBot activated") async def RimagochiUserUpdate(self, member, session = None): if session is None: @@ -366,7 +368,7 @@ class AdminBot(AnyBots): else: self.UpdatingTournamentData.start() # Удалить обязательно!!! - logging.info(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: KrekFunLoopsBot activated") + self.logger.info(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: KrekFunLoopsBot activated") async def BotOff(self): self.VoiceXpAdder.cancel() @@ -379,7 +381,7 @@ class AdminBot(AnyBots): if self.stop_event.is_set(): pass else: - logging.error(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: Соединение с дискордом разорвано") + self.logger.error(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: Соединение с дискордом разорвано") await self.BotOff() async def check_bt_channel(self): @@ -461,7 +463,7 @@ class AdminBot(AnyBots): except json.JSONDecodeError as e: await message.add_reaction("❎") except Exception as exc: - logging.error(f"{data} {exc}") + self.logger.error(f"{data} {exc}") if msg_stopflag: stopflag = True break @@ -702,7 +704,7 @@ class AdminBot(AnyBots): await self.LevelRolesGiver(member, self.CalculateLevel(period_messages, period_voice_activity)) except Exception as e: - logging.exception(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: err VoiceXpAdder: {e}") + self.logger.exception(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: err VoiceXpAdder: {e}") @tasks.loop(seconds=3600) async def CheckDataBase(self): @@ -749,7 +751,7 @@ class AdminBot(AnyBots): await backups_channel.send(content=f"Бэкап бд за {datetime.datetime.now()}:", file=disnake.File(backup_file)) except Exception as e: - logging.exception(f"err CheckDataBase: {e}") + self.logger.exception(f"err CheckDataBase: {e}") async def init_db(): DataBaseEngine = create_async_engine( @@ -769,19 +771,19 @@ async def run_bot(bot, token, stop_event): try: await bot.start(token) except Exception as e: - logging.info(f"Бот {bot.user.name if hasattr(bot, 'user') else 'Unknown'} упал с ошибкой: {e}") + logger.info(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.error(f"Ошибка при закрытии бота: {e}") + logger.error(f"Ошибка при закрытии бота: {e}") await asyncio.sleep(0.1) @@ -818,9 +820,9 @@ async def main(): await asyncio.gather(*bot_tasks, monitor_task) except KeyboardInterrupt: - logging.info("Боты остановлены по запросу пользователя") + logger.info("Боты остановлены по запросу пользователя") except Exception as e: - logging.exception(f"Произошла критическая ошибка") + logger.exception(f"Произошла критическая ошибка") finally: if admin_bot is not None: await admin_bot.BotOff() diff --git a/src/cogs/admin.py b/src/cogs/admin.py index 9f0586c..dbb5f67 100644 --- a/src/cogs/admin.py +++ b/src/cogs/admin.py @@ -30,7 +30,7 @@ class MainAdminModule(commands.Cog): @commands.Cog.listener() async def on_ready(self): - self.client.logging.info(f'KrekFunBot admin module activated') + self.client.logger.info(f'KrekFunBot admin module activated') self.krekchat = await self.client.fetch_guild(constants["krekchat"]) self.me = disnake.utils.get(self.krekchat.roles, id=constants["me"]) diff --git a/src/cogs/designer.py b/src/cogs/designer.py index 463bd84..1a9d3b4 100644 --- a/src/cogs/designer.py +++ b/src/cogs/designer.py @@ -32,7 +32,7 @@ class MainDesignerModule(commands.Cog): self.krekchat = await self.client.fetch_guild(constants["krekchat"]) self.sponsors = [disnake.utils.get(self.krekchat.roles, id=i) for i in constants["sponsors"]] self.me = disnake.utils.get(self.krekchat.roles, id=constants["me"]) - self.client.logging.info(f'KrekFunBot designer module activated') + self.client.logger.info(f'KrekFunBot designer module activated') @commands.slash_command(name = "профиль", description="Ваш профиль на сервере") async def Profile(self, ctx: disnake.AppCmdInter, diff --git a/src/cogs/economy.py b/src/cogs/economy.py index 8f21dcc..2a3e681 100644 --- a/src/cogs/economy.py +++ b/src/cogs/economy.py @@ -28,7 +28,7 @@ class MainEconomyModule(commands.Cog): self.krekchat = await self.client.fetch_guild(constants["krekchat"]) self.sponsors = [disnake.utils.get(self.krekchat.roles, id=i) for i in constants["sponsors"]] self.me = disnake.utils.get(self.krekchat.roles, id=constants["me"]) - self.client.logging.info(f'KrekFunBot economy module activated') + self.client.logger.info(f'KrekFunBot economy module activated') @commands.slash_command(name = "статистика", description="Статистика отображает все данные о пользователе") async def UserStatistic(self, ctx: disnake.AppCmdInter, diff --git a/src/cogs/resetsupcommands.py b/src/cogs/resetsupcommands.py index 3b24100..39ad7b0 100644 --- a/src/cogs/resetsupcommands.py +++ b/src/cogs/resetsupcommands.py @@ -1,12 +1,12 @@ import disnake from disnake.ext import commands -def setup(bot: commands.Bot): +def setup(bot): bot.add_cog(ExampleCog(bot)) - print("ExampleCog загружен!") + bot.logger.info("ExampleCog загружен!") class ExampleCog(commands.Cog): - def __init__(self, bot: commands.Bot): + def __init__(self, bot): self.bot = bot @commands.slash_command(name="ping", description="Проверка бота на работоспособность") diff --git a/src/cogs/rimagochi.py b/src/cogs/rimagochi.py index f705bb3..d5a82a1 100644 --- a/src/cogs/rimagochi.py +++ b/src/cogs/rimagochi.py @@ -34,7 +34,7 @@ class MainRimagochiModule(commands.Cog): @commands.Cog.listener() async def on_ready(self): - self.client.logging.info(f'KrekFunBot rimagochi module activated') + self.client.logger.info(f'KrekFunBot rimagochi module activated') krekchat = await self.client.fetch_guild(constants["krekchat"]) self.me = disnake.utils.get(krekchat.roles, id=constants["me"]) diff --git a/src/cogs/roles.py b/src/cogs/roles.py index 56fc658..7d242a8 100644 --- a/src/cogs/roles.py +++ b/src/cogs/roles.py @@ -32,7 +32,7 @@ class MainRolesModule(commands.Cog): @commands.Cog.listener() async def on_ready(self): - self.client.logging.info(f'KrekFunBot roles module activated') + self.client.logger.info(f'KrekFunBot roles module activated') krekchat = await self.client.fetch_guild(constants["krekchat"]) self.me = disnake.utils.get(krekchat.roles, id=constants["me"]) diff --git a/src/test.py b/src/test.py index 0451955..493e1d4 100644 --- a/src/test.py +++ b/src/test.py @@ -20,7 +20,7 @@ from libs.tokens_formatter import TOKENS import CoreFun -logging = CoreFun.logging +logger = CoreFun.logger async def main(): stop_event = asyncio.Event() @@ -67,9 +67,9 @@ async def main(): await asyncio.gather(*bot_tasks, monitor_task) except KeyboardInterrupt: - logging.info("Боты остановлены по запросу пользователя") + logger.info("Боты остановлены по запросу пользователя") except Exception as e: - logging.exception(f"Произошла критическая ошибка") + logger.exception(f"Произошла критическая ошибка") finally: # Остановка всех ботов