FreshPixels commited on
Commit
6227305
·
verified ·
1 Parent(s): 0b4746f

Create middlewares/owner.py

Browse files
Files changed (1) hide show
  1. middlewares/owner.py +29 -0
middlewares/owner.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import logging
2
+ from typing import Any, Awaitable, Callable, Dict
3
+ from aiogram import BaseMiddleware
4
+ from aiogram.types import Message, TelegramObject
5
+ from config import config
6
+
7
+ logger = logging.getLogger(__name__)
8
+
9
+
10
+ class OwnerMiddleware(BaseMiddleware):
11
+ """Проверяет, что пользователь — владелец бота."""
12
+
13
+ async def __call__(
14
+ self,
15
+ handler: Callable[[TelegramObject, Dict[str, Any]], Awaitable[Any]],
16
+ event: TelegramObject,
17
+ data: Dict[str, Any],
18
+ ) -> Any:
19
+ if not isinstance(event, Message):
20
+ return await handler(event, data)
21
+
22
+ user_id = event.from_user.id
23
+ if user_id != config.OWNER_ID:
24
+ logger.warning("Unauthorized access from user_id=%s", user_id)
25
+ await event.answer("⛔ Доступ запрещён. Этот бот только для владельца.")
26
+ return None
27
+
28
+ return await handler(event, data)
29
+