o
    FhI                     @  s   d dl mZ d dlmZmZ d dlmZmZmZm	Z	m
Z
mZ d dlmZ er,d dlmZ e
dZG dd de	e ZG d	d
 d
ee eZdS )    )annotations)ABCabstractmethod)TYPE_CHECKINGAnyDictGenericTypeVarcast)UpdateBotTc                   @  s&   e Zd ZU erded< ded< dS dS )BaseHandlerMixinr   eventzDict[str, Any]dataN)__name__
__module____qualname__r   __annotations__ r   r   H/var/www/html/venv/lib/python3.10/site-packages/aiogram/handlers/base.pyr      s
   
 r   c                   @  sN   e Zd ZdZddd	ZedddZedddZedddZ	dddZ
dS )BaseHandlerz1
    Base class for all class-based handlers
    r   r   kwargsr   returnNonec                 K  s   || _ || _d S N)r   r   )selfr   r   r   r   r   __init__   s   
zBaseHandler.__init__r   c                 C  s.   ddl m} d| jv rt|| jd S td)Nr   r   botz%Bot instance not found in the context)aiogramr   r   r
   RuntimeError)r   r   r   r   r   r      s   
zBaseHandler.botr   c                 C  s   t t| jd| jdS )Nupdateevent_update)r
   r   r   getr   r   r   r   r"   %   s   zBaseHandler.updatec                   s   d S r   r   r%   r   r   r   handle)   s   zBaseHandler.handlec                 C  s   |    S r   )r&   	__await__r%   r   r   r   r'   -   s   zBaseHandler.__await__N)r   r   r   r   r   r   )r   r   )r   r   )r   r   )r   r   r   __doc__r   propertyr   r"   r   r&   r'   r   r   r   r   r      s    
r   N)
__future__r   abcr   r   typingr   r   r   r   r	   r
   aiogram.typesr   r    r   r   r   r   r   r   r   r   <module>   s     