mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
Address missed middleware bug: ensure all middlewares work in scenes (missed in previous commit)
This commit is contained in:
parent
b8952b459d
commit
1b39cff5a4
1 changed files with 5 additions and 6 deletions
|
|
@ -11,6 +11,7 @@ from typing_extensions import Self
|
|||
from aiogram import loggers
|
||||
from aiogram.dispatcher.dispatcher import Dispatcher
|
||||
from aiogram.dispatcher.event.bases import NextMiddlewareType
|
||||
from aiogram.dispatcher.middlewares.manager import MiddlewareManager
|
||||
from aiogram.dispatcher.event.handler import CallableObject, CallbackType
|
||||
from aiogram.dispatcher.flags import extract_flags_from_object
|
||||
from aiogram.dispatcher.router import Router
|
||||
|
|
@ -586,12 +587,10 @@ class SceneWizard:
|
|||
await action_config[event_type].call(self.scene, self.event, **{**self.data, **kwargs})
|
||||
return True
|
||||
|
||||
async def _actual_handler(event, **data):
|
||||
return await action_config[event_type].call(self.scene, event, **data)
|
||||
|
||||
await observer.wrap_outer_middleware(
|
||||
_actual_handler, event=self.event, data={**self.data, **kwargs}
|
||||
)
|
||||
middlewares = [*observer.outer_middleware, *observer._resolve_middlewares()]
|
||||
handler = lambda event, **data: action_config[event_type].call(self.scene, event, **data)
|
||||
wrapped = MiddlewareManager.wrap_middlewares(middlewares, handler)
|
||||
await wrapped(self.event, {**self.data, **kwargs})
|
||||
return True
|
||||
|
||||
async def set_data(self, data: Dict[str, Any]) -> None:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue