2023-08-13 18:00:59 +03:00
|
|
|
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
|
2024-05-31 11:11:21 -06:00
|
|
|
from aiogram.client.default import DefaultBotProperties
|
2023-08-13 18:00:59 +03:00
|
|
|
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,
|
|
|
|
|
)
|
|
|
|
|
|
2024-05-31 11:11:21 -06:00
|
|
|
# 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))
|
|
|
|
|
|
2023-08-13 18:00:59 +03:00
|
|
|
# And the run events dispatching
|
|
|
|
|
await dp.start_polling(bot)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
logging.basicConfig(level=logging.INFO)
|
|
|
|
|
asyncio.run(main())
|