import asyncio import logging from os import getenv from handlers.echo import echo_router from handlers.start import start_router from aiogram import Bot, Dispatcher from aiogram.client.default import DefaultBotProperties from aiogram.enums import ParseMode # Bot token can be obtained via https://t.me/BotFather TOKEN = getenv("BOT_TOKEN") async def main() -> None: # Dispatcher is a root router dp = Dispatcher() # Register all the routers from handlers package dp.include_routers( start_router, echo_router, ) # Initialize Bot instance with default bot properties which will be passed to all API calls bot = Bot(token=TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML)) # And the run events dispatching await dp.start_polling(bot) if __name__ == "__main__": logging.basicConfig(level=logging.INFO) asyncio.run(main())