import asyncio import logging import sys import os current_dir = os.path.dirname(os.path.abspath(__file__)) parent_dir = os.path.dirname(current_dir) sys.path.insert(0, parent_dir) from tg_bot.config.settings import settings logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', handlers=[ logging.FileHandler(settings.LOG_FILE), logging.StreamHandler() ] ) logger = logging.getLogger("vibelawyer_bot") async def main(): logger.info("=" * 50) logger.info(f"Запуск {settings.APP_NAME} v{settings.VERSION}") logger.info(f"Режим: {'РАЗРАБОТКА' if settings.DEBUG else 'ПРОДАКШН'}") logger.info(f"Лимит вопросов: {settings.FREE_QUESTIONS_LIMIT}") logger.info("=" * 50) try: from tg_bot.infrastructure.telegram.bot import start_bot await start_bot() except KeyboardInterrupt: logger.info("Бот остановлен пользователем") print("\nБот остановлен") except Exception as e: logger.error(f"Ошибка запуска: {e}") print(f"Ошибка запуска: {e}") if __name__ == "__main__": asyncio.run(main())