From 6d58da99f68811f466df6fbe0a71a1ecae5525a7 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 29 Jul 2026 16:38:09 +0500 Subject: [PATCH] feat: add entry script with logging --- main.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 main.py diff --git a/main.py b/main.py new file mode 100644 index 0000000..544d331 --- /dev/null +++ b/main.py @@ -0,0 +1,41 @@ +import asyncio +import logging + +from config import Config +from telegram import TelegramStarsBot + +logger = logging.getLogger(__name__) + + +async def main(): + try: + config = Config() + bot = TelegramStarsBot(config) + await bot.start() + + except (ValueError, TypeError) as e: + logger.critical(f"Ошибка в конфигурации или при запуске: {e}") + + except Exception as e: + logger.critical(f"Фатальная ошибка при запуске бота: {e}") + + +if __name__ == "__main__": + logging.basicConfig( + level=logging.INFO, + format="%(asctime)s | %(levelname)s | %(name)s | %(message)s", + handlers=[ + logging.FileHandler("bot.log", encoding="utf-8"), + logging.StreamHandler(), + ], + ) + + try: + asyncio.run(main()) + + except KeyboardInterrupt: + logger.info("Получен сигнал остановки, бот завершает работу") + + except Exception: + logger.exception("Бот завершился из-за необработанной ошибки") + raise