o
    LDiU                     @  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
 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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   a/var/www/www-root/data/www/77.83.87.30/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  s2   ddl m} d| jv rt|| jd S d}t|)Nr   r   botz%Bot instance not found in the context)aiogramr   r   r	   RuntimeError)r   r   msgr   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	   aiogram.typesr
   r   r   r   r   r   r   r   r   r   <module>   s    