41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
import asyncio
|
|
import logging
|
|
import os
|
|
|
|
from tg_bot.config.settings import settings
|
|
|
|
log_file_path = settings.LOG_FILE
|
|
os.makedirs(os.path.dirname(log_file_path), exist_ok=True)
|
|
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
|
handlers=[
|
|
logging.FileHandler(log_file_path),
|
|
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()) |