import asyncio import logging import sys from dotenv import load_dotenv load_dotenv() import config from bot import VisionBot logging.basicConfig( level=logging.INFO, format="%(asctime)s | %(levelname)-8s | %(name)s — %(message)s", datefmt="%Y-%m-%d %H:%M:%S", handlers=[ logging.StreamHandler(sys.stdout), logging.FileHandler(config.LOGS_DIR / "vision.log", encoding="utf-8"), ], ) logger = logging.getLogger("vision") async def main(): if not config.DISCORD_TOKEN: logger.critical("DISCORD_TOKEN manquant dans .env") sys.exit(1) logger.info("Lancement de Vision Studio...") bot = VisionBot() try: await bot.start(config.DISCORD_TOKEN) except KeyboardInterrupt: logger.info("Arrêt demandé") except Exception as e: logger.critical(f"Erreur fatale : {e}", exc_info=True) if __name__ == "__main__": asyncio.run(main())