a
    9¶gI  ã                   @  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rXd 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 )ÚBaseHandlerMixinr   ÚeventzDict[str, Any]ÚdataN)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__© r   r   úr/var/www/vosh/data/www/fastworkle.ru/webshop-tgbot-v.1.0/venv/lib/python3.9/site-packages/aiogram/handlers/base.pyr      s   
r   c                   @  sf   e Zd ZdZddddœdd„Zedd	œd
d„ƒZedd	œdd„ƒZedd	œdd„ƒZ	dd	œdd„Z
dS )ÚBaseHandlerz1
    Base class for all class-based handlers
    r   r   ÚNone)r   ÚkwargsÚreturnc                 K  s   || _ || _d S ©N)r   r   )Úselfr   r   r   r   r   Ú__init__   s    zBaseHandler.__init__r   )r   c                 C  s2   ddl m} d| jv r&t|| jd ƒS tdƒ‚d S )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ÚupdateZ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   Ú__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
   Zaiogram.typesr   r    r   r   r   r   r   r   r   r   Ú<module>   s    