o
    4˜ŽjX  ã                   @  s   d dl mZ d dlmZmZ d dlmZ erJd dlmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZmZmZ d d
lmZmZ G dd„ dedd�ZG dd„ dedd�ZG dd„ dedd�ZG dd„ dedd�ZG dd„ deeedd�ZdS )é    )Úannotations)ÚTYPE_CHECKINGÚ	TypedDict)ÚNotRequired)ÚBotÚ
DispatcherÚRouter)ÚHandlerObject)ÚEventContext)Ú
FSMContext)ÚBaseStorage)ÚChatÚUpdateÚUser)ÚI18nÚI18nMiddlewarec                   @  sL   e Zd ZU dZded< 	 ded< 	 ded< 	 ded	< 	 d
ed< 	 ded< dS )ÚDispatcherDataz*
    Dispatcher and bot related data.
    r   Ú
dispatcherr   ÚbotzNotRequired[list[Bot]]Úbotsr   Úevent_updater   Úevent_routerzNotRequired[HandlerObject]ÚhandlerN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© r   r   ú`/var/www/kodo/Anonymous/send/lib/python3.10/site-packages/aiogram/dispatcher/middlewares/data.pyr      s   
 r   F)Útotalc                   @  sB   e Zd ZU dZded< 	 ded< 	 ded< 	 ded	< 	 d
ed< dS )ÚUserContextDataz9
    Event context related data about user and chat.
    r
   Úevent_contextzNotRequired[User]Úevent_from_userzNotRequired[Chat]Ú
event_chatzNotRequired[int]Úevent_thread_idzNotRequired[str]Úevent_business_connection_idNr   r   r   r   r    r"   %   s   
 r"   c                   @  s.   e Zd ZU dZded< 	 ded< 	 ded< dS )	ÚFSMDataz
    FSM related data.
    r   Úfsm_storagezNotRequired[FSMContext]ÚstatezNotRequired[str | None]Ú	raw_stateNr   r   r   r   r    r(   <   s   
 r(   c                   @  s$   e Zd ZU dZded< 	 ded< dS )ÚI18nDatazw
    I18n related data.

    Is not included by default, you need to add it to your own Data class if you need it.
    r   Úi18nr   Úi18n_middlewareNr   r   r   r   r    r,   I   s   
 r,   c                   @  s   e Zd ZdZdS )ÚMiddlewareDatazp
    Data passed to the handler by the middlewares.

    You can add your own data by extending this class.
    N)r   r   r   r   r   r   r   r    r/   V   s    r/   N)Ú
__future__r   Útypingr   r   Útyping_extensionsr   Úaiogramr   r   r   Ú aiogram.dispatcher.event.handlerr	   Ú+aiogram.dispatcher.middlewares.user_contextr
   Úaiogram.fsm.contextr   Úaiogram.fsm.storage.baser   Úaiogram.typesr   r   r   Úaiogram.utils.i18nr   r   r   r"   r(   r,   r/   r   r   r   r    Ú<module>   s*    

û