refactor
This commit is contained in:
42
bot/main.py
Normal file
42
bot/main.py
Normal file
@ -0,0 +1,42 @@
|
||||
"""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())
|
||||
Reference in New Issue
Block a user