o
    -˜Žjö	  ã                   @   sZ   d dl Z d dlmZ d dlZd dlmZmZ ddlmZ ddl	m
Z
 G dd„ dee
ƒZdS )	é    N)ÚUnion)ÚMessageÚCallbackQueryé   )ÚMessageHandler)ÚCallbackQueryHandlerc                   @   sF   e Zd ZdZdd„ Zdddeeef fdd„Ze	d	d
„ ƒZ
dd„ ZdS )ÚConversationHandlerzThe Conversation handler class.c                 C   s
   i | _ d S ©N©Úwaiters)Úself© r   úc/var/www/kodo/Anonymous/send/lib/python3.10/site-packages/pyrogram/handlers/conversation_handler.pyÚ__init__   s   
zConversationHandler.__init__Úclientzpyrogram.ClientÚupdatec                 Ã   sê   �t |tƒr|jrdS zt |tƒr|jjn|jjj}W n
 ty%   Y dS w | j |¡}|r;t ||d ƒr;|d  	¡ r=dS | d¡}t
|ƒrlt |j¡rU|||ƒI d H }n|j |j|||¡I d H }|rj|d  	¡ rldS |d  |¡ dS )NFÚupdate_typeÚfutureÚfiltersT)Ú
isinstancer   ÚoutgoingÚchatÚidÚmessageÚAttributeErrorr   ÚgetÚdoneÚcallableÚinspectÚiscoroutinefunctionÚ__call__ÚloopÚrun_in_executorÚexecutorÚ
set_result)r   r   r   Úchat_idÚwaiterr   Úfilteredr   r   r   Úcheck"   s0   € ÿ

ýzConversationHandler.checkc                 Ã   s   �d S r	   r   )Ú_Ú__r   r   r   Úcallback?   s   €zConversationHandler.callbackc                 C   s"   || j | d kr| j |= d S d S )Nr   r
   )r   r%   r   r   r   r   Údelete_waiterD   s   ÿz!ConversationHandler.delete_waiterN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r(   Ústaticmethodr+   r,   r   r   r   r   r      s    
r   )r   Útypingr   ÚpyrogramÚpyrogram.typesr   r   Úmessage_handlerr   Úcallback_query_handlerr   r   r   r   r   r   Ú<module>   s   