Merge pull request #234 from Vladless/feat/callback-answer

Callback answer middleware
This commit is contained in:
Vladislav Lisitsyn
2025-08-17 16:59:45 +03:00
committed by Capybara-z
parent 2a3f346434
commit b01eabdcda
5 changed files with 19 additions and 4 deletions
+2
View File
@@ -14,6 +14,7 @@ from .maintenance import MaintenanceModeMiddleware
from .session import SessionMiddleware
from .throttling import ThrottlingMiddleware
from .user import UserMiddleware
from .answer import CallbackAnswerMiddleware
def register_middleware(
@@ -39,6 +40,7 @@ def register_middleware(
"logging": LoggingMiddleware(),
"throttling": ThrottlingMiddleware(),
"user": UserMiddleware(),
"answer": CallbackAnswerMiddleware(),
}
exclude_set = set(exclude or [])
+17
View File
@@ -0,0 +1,17 @@
from collections.abc import Awaitable, Callable
from typing import Any
from aiogram import BaseMiddleware
from aiogram.types import CallbackQuery, TelegramObject
class CallbackAnswerMiddleware(BaseMiddleware):
async def __call__(
self,
handler: Callable[[TelegramObject, dict[str, Any]], Awaitable[Any]],
event: TelegramObject,
data: dict[str, Any],
) -> Any:
if isinstance(event, CallbackQuery):
await event.answer()
return await handler(event, data)