Guest User

simple aiogram middleware for bans

a guest
Jun 24th, 2023
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. from typing import Callable, Dict, Any, Awaitable
  2.  
  3. from aiogram import BaseMiddleware
  4. from aiogram.types import TelegramObject
  5.  
  6. from bot.db.requests import Database # your class with database queries
  7.  
  8.  
  9. class IsBanedMiddleware(BaseMiddleware):
  10. async def __call__(
  11. self,
  12. handler: Callable[[TelegramObject, Dict[str, Any]], Awaitable[Any]],
  13. event: TelegramObject,
  14. data: Dict[str, Any],
  15. ) -> Any:
  16. user_id = data['event_from_user'].id
  17. db: Database = data['db']
  18. banned = await db.get_ban_user(user_id)
  19. if banned:
  20. return
  21. return await handler(event, data)
Advertisement
Add Comment
Please, Sign In to add comment