refactor
This commit is contained in:
42
bot/bot.py
Normal file
42
bot/bot.py
Normal file
@ -0,0 +1,42 @@
|
||||
"""Main async bot module."""
|
||||
from telebot.async_telebot import AsyncTeleBot
|
||||
from bot.config import Config
|
||||
from bot.database import init_db
|
||||
from bot.handlers.group_handlers import register_group_handlers
|
||||
from bot.handlers.private_handlers import register_private_handlers
|
||||
from bot.handlers.command_handlers import register_command_handlers
|
||||
from bot.logger import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
async def create_bot() -> AsyncTeleBot:
|
||||
"""Create and configure the bot."""
|
||||
logger.info("Creating bot instance...")
|
||||
|
||||
# Validate configuration
|
||||
Config.validate()
|
||||
logger.debug("Configuration validated")
|
||||
|
||||
# Ensure BOT_TOKEN is not None
|
||||
if not Config.BOT_TOKEN:
|
||||
logger.error("BOT_TOKEN is required but not set")
|
||||
raise ValueError("BOT_TOKEN is required")
|
||||
|
||||
# Initialize database
|
||||
logger.info("Initializing database...")
|
||||
await init_db()
|
||||
logger.info("Database initialized")
|
||||
|
||||
# Create bot instance
|
||||
bot = AsyncTeleBot(Config.BOT_TOKEN)
|
||||
logger.info("Bot instance created")
|
||||
|
||||
# Register all handlers
|
||||
logger.debug("Registering handlers...")
|
||||
register_group_handlers(bot)
|
||||
register_private_handlers(bot)
|
||||
register_command_handlers(bot)
|
||||
logger.info("All handlers registered")
|
||||
|
||||
return bot
|
||||
Reference in New Issue
Block a user