
    h                    \    d dl mZ d dlmZ d dlmZ er
d dlZd dlmZ  G d d          Z	dS )    )annotations)TYPE_CHECKING)ListenerTypesN)Filterc                  0    e Zd Zdej        dddddfddZdS )AskNTselfhydrogram.Clientchat_idint | str | list[int | str]textstrfiltersFilter | Nonelistener_typer   timeout
int | Noneunallowed_click_alertbooluser_id"int | str | list[int | str] | None
message_idint | list[int] | Noneinline_message_idstr | list[str] | Nonec
           
        K   d}|                                 r7t          |t                    r|d         n|} | j        ||g|
R i | d{V }|                     ||||||||	           d{V }|r||_        |S )a  
        Sends a message and waits for a response.

        Parameters:
            chat_id (``Union[int, str], List[Union[int, str]]``):
                The chat ID(s) to wait for a message from. The first chat ID will be used to send the message.

            text (``str``):
                The text to send.

            filters (``Optional[Filter]``):
                Same as :meth:`hydrogram.Client.listen`.

            listener_type (``ListenerTypes``):
                Same as :meth:`hydrogram.Client.listen`.

            timeout (``Optional[int]``):
                Same as :meth:`hydrogram.Client.listen`.

            unallowed_click_alert (``bool``):
                Same as :meth:`hydrogram.Client.listen`.

            user_id (``Optional[Union[int, str], List[Union[int, str]]]``):
                Same as :meth:`hydrogram.Client.listen`.

            message_id (``Optional[Union[int, List[int]]]``):
                Same as :meth:`hydrogram.Client.listen`.

            inline_message_id (``Optional[Union[str, List[str]]]``):
                Same as :meth:`hydrogram.Client.listen`.

            args (``Any``):
                Additional arguments to pass to :meth:`hydrogram.Client.send_message`.

            kwargs (``Any``):
                Additional keyword arguments to pass to :meth:`hydrogram.Client.send_message`.

        Returns:
            Same as :meth:`hydrogram.Client.listen`. The sent message is returned as the attribute ``sent_message``.
        Nr   )r   r   r   r   r   r   r   r   )strip
isinstancelistsend_messagelistensent_message)r	   r   r   r   r   r   r   r   r   r   argskwargsr"   chat_to_askresponses                  ]/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/hydrogram/methods/pyromod/ask.pyaskzAsk.ask    s      l ::<< 	W(27D(A(AN'!**wK!2!2;!Vt!V!V!Vv!V!VVVVVVVL'"7!/ % 	
 	
 	
 	
 	
 	
 	
 	
  	1$0H!    )r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )__name__
__module____qualname__r   MESSAGEr(    r)   r'   r   r      sN        
 "&'4'<"&*6:-148H H H H H H Hr)   r   )

__future__r   typingr   hydrogram.typesr   	hydrogramhydrogram.filtersr   r   r.   r)   r'   <module>r4      s   ( # " " " " "             ) ) ) ) ) ) )((((((I I I I I I I I I Ir)   