Files
Travel-Agent/app/bot.py
T
2024-03-22 11:02:43 +03:00

43 lines
1.0 KiB
Python

__all__ = ("main",)
from typing import Optional
from aiogram import Bot, Dispatcher
from aiogram.enums import ParseMode
from aiogram.fsm.storage.redis import RedisStorage
from app.callbacks import menu, profile
from app.config import Config
from app.handlers import (
help_command,
menu_command,
profile_command,
start_command,
)
from app.middlewares.throttling import ThrottlingMiddleware
async def main() -> None:
bot_token: Optional[str] = Config.BOT_TOKEN
if bot_token is None:
exit("BOT_TOKEN is not set")
storage = RedisStorage.from_url(Config.REDIS_URL)
dp = Dispatcher(storage=storage)
bot = Bot(bot_token, parse_mode=ParseMode.HTML)
dp.message.middleware(ThrottlingMiddleware(0.5))
dp.include_routers(
start_command.router,
help_command.router,
menu_command.router,
profile_command.router,
menu.router, # type: ignore
profile.router, # type: ignore
)
await bot.delete_webhook(drop_pending_updates=True)
await dp.start_polling(bot)