from routers import include_routers from src.core.logger import log, setup_logger from src.modules.standard.config.config import get_telegram_token from src.modules.standard.database.db_api import connect_database, create_tables import asyncio from aiogram import Bot, Dispatcher async def main(): bot = None database = None setup_logger() try: bot = Bot(token=get_telegram_token()) database, path = connect_database() database.connect() create_tables(database) dp = Dispatcher() await include_routers(dp) await dp.start_polling(bot) except Exception as e: log(e) finally: if bot is not None: await bot.session.close() if database is not None: database.close() if __name__ == "__main__": asyncio.run(main())