Ë
    :É„j  ã                   ó@   — d dl Z d dlmZ d dlmZmZmZ  G d„ d«      Zy)é    N)ÚFilter)ÚListÚOptionalÚUnionc                   óü   — e Zd Zdej                  j
                  j                  dddddfdddeeee	f   e
eee	f      f   de	dee   dd	d
ee   dedeeee	f   e
eee	f      f   deee
e   f   dee	e
e	   f   fd„Zy)ÚAskNTÚselfzpyrogram.ClientÚchat_idÚtextÚfiltersÚlistener_typezpyrogram.enums.ListenerTypesÚtimeoutÚunallowed_click_alertÚuser_idÚ
message_idÚinline_message_idc
           
   �   óþ   K  — d}|rFt        |t        «      r6t        |t        «      r|d   n|} | j                  ||g|
¢­i |¤Žƒ d{  –—† }| j	                  ||||||||	¬«      ƒ d{  –—† }|r||_        |S 7 Œ07 Œ­w)u6  Send a message then listen for a message, callback query, etc.

        Message:

        .. include:: /_includes/usable-by/users-bots.rst

        CallbackQuery:

        .. include:: /_includes/usable-by/bots.rst

        Parameters:
            chat_id (``int`` | ``str`` | Iterable of ``int`` | Iterable of ``str``):
                Unique identifier (int) or username (str) of the target chat.

            text (``str``):
                Text of the message to be sent.

            user_id (``int`` | ``str`` | Iterable of ``int`` | Iterable of ``str``, *optional*):
                The user ID to listen for.

            filters (:obj:`~pyrogram.filters`, *optional*):
                A filter to check the incoming message against.

            listener_type (:obj:`~pyrogram.enums.ListenerTypes`, *optional*):
                The type of listener to listen for.
                Default to Message.

            timeout (``int``, *optional*):
                The maximum amount of time to wait for a message.

            unallowed_click_alert (``bool``, *optional*):
                Whether to alert the user if they click a button that doesnâ€™t match the filters.
                Default to True.

            inline_message_id (``str``, *optional*):
                The inline message ID to listen for.

        Returns:
            :obj:`~pyrogram.types.Message` | :obj:`~pyrogram.types.CallbackQuery`: On success, a message/callbackquery is returned.

        Example:
            .. code-block:: python

                await app.ask(chat_id, "Tell me your name:")
        Nr   )r   r   r   r   r
   r   r   r   )Ú
isinstanceÚstrÚlistÚsend_messageÚlistenÚsent_message)r	   r
   r   r   r   r   r   r   r   r   ÚargsÚkwargsr   Úchat_to_askÚresponses                  úS/var/www/html/GAP/venv/lib/python3.12/site-packages/pyrogram/methods/pyromod/ask.pyÚaskzAsk.ask   s�   è ø€ ðv ˆÙ”J˜t¤SÔ)Ü(2°7¼DÔ(A˜' !š*ÀwˆKØ!2 ×!2Ñ!2°;ÀÐ!VÀtÒ!VÈvÑ!V×VˆLàŸ™ØØ'ØØ"7ØØØ!Ø/ð %ó 	
÷ 	
ˆñ Ø$0ˆHÔ!àˆð Wøð	
ús$   ‚AA=ÁA9Á	 A=Á)A;Á*A=Á;A=)Ú__name__Ú
__module__Ú__qualname__ÚpyrogramÚenumsÚListenerTypesÚMESSAGEr   Úintr   r   r   r   Úboolr   © ó    r   r   r      sú   „ ð
 %)Ø8@¿¹×8TÑ8T×8\Ñ8\Ø!%Ø&*ØAEØ,0Ø37ñMØðMà�u˜S #˜X‘¨¨U°3¸°8©_Ñ(=Ð=Ñ>ðMð ðMð ˜&Ñ!ð	Mð
 6ðMð ˜#‘ðMð  $ðMð �u˜S #˜X‘¨¨U°3¸°8©_Ñ(=Ð=Ñ>ðMð ˜#˜t C™y˜.Ñ)ðMð !  d¨3¡i Ñ0ôMr*   r   )r#   Úpyrogram.filtersr   Útypingr   r   r   r   r)   r*   r   ú<module>r-      s   ðó( å #ß (Ñ (÷Nò Nr*   