o
    Fh_                     @  s   d dl mZ d dlmZmZmZmZmZmZ ddl	m
Z
mZ ddlmZ ddlmZmZmZ dd	lmZ er<dd
lmZ G dd deZdS )    )annotations)TYPE_CHECKINGAny	AwaitableCallableDictcast   )TelegramObjectUpdate)
ErrorEvent   )	UNHANDLEDCancelHandlerSkipHandler   )BaseMiddleware)Routerc                   @  s    e Zd ZdddZdddZdS )ErrorsMiddlewarerouterr   c                 C  s
   || _ d S )N)r   )selfr    r   W/var/www/html/venv/lib/python3.10/site-packages/aiogram/dispatcher/middlewares/error.py__init__   s   
zErrorsMiddleware.__init__handler:Callable[[TelegramObject, Dict[str, Any]], Awaitable[Any]]eventr
   dataDict[str, Any]returnr   c              
     s   z	|||I d H W S  t tfy     tyB } z#| jjddttt||dd|I d H }|tur=|W  Y d }~S  d }~ww )Nerror)update	exception)update_typer   r   )	r   r   	Exceptionr   propagate_eventr   r   r   r   )r   r   r   r   eresponser   r   r   __call__   s"   zErrorsMiddleware.__call__N)r   r   )r   r   r   r
   r   r   r   r   )__name__
__module____qualname__r   r(   r   r   r   r   r      s    
r   N)
__future__r   typingr   r   r   r   r   r   typesr
   r   types.error_eventr   event.basesr   r   r   baser   r   r   r   r   r   r   r   <module>   s     