Files
bdbot/bot/main.py
2026-01-28 15:53:27 +03:00

43 lines
1.1 KiB
Python

"""Main entry point for the async bot."""
import asyncio
import os
from bot.bot import create_bot
from bot.handlers.scheduler import setup_scheduler
from bot.logger import setup_logging, get_logger
# Setup logging
log_level = os.getenv("LOG_LEVEL", "INFO")
setup_logging(log_level)
logger = get_logger(__name__)
async def main() -> None:
"""Main function to start the bot and scheduler."""
logger.info("Starting bot...")
try:
# Create bot
bot = await create_bot()
logger.info("Bot created successfully")
# Setup scheduler
scheduler = setup_scheduler(bot)
logger.info("Scheduler configured")
# Start scheduler
scheduler.start()
logger.info("Scheduler started")
# Start bot polling
logger.info("Starting bot polling...")
await bot.infinity_polling(none_stop=True)
except KeyboardInterrupt:
logger.info("Bot stopped by user")
except Exception as e:
logger.error(f"Fatal error: {e}", exc_info=True)
raise
if __name__ == "__main__":
asyncio.run(main())