
    iq                         S SK r S SKJr  S SKrS SKJr  S SKJr  S SKJr  \ R                  " \
5      r\" S5      r " S S5      rg)	    N)TypeVar)raw)TLObject)Session
ReturnTypec                       \ rS rSr\R
                  \R                  S\R                  SS4SSS\\	   S\
S\S\S	\S
\S\S\	4S jjrSrg)Invoke    Nselfzpyrogram.Clientqueryretriestimeoutsleep_thresholdretry_delayrecaptcha_tokenbusiness_connection_idreturnc                   #    U R                   (       d  [        S5      eU R                  nU(       a5  [        R                  R                  UUS9nU R                  US9I Sh  vN nU(       a  [        R                  R                  XaS9nU R                  (       a  [        R                  R                  US9nU R                  (       a(  [        R                  R                  U R                  US9nUR                  XUUb  UOU R                  US9I Sh  vN n	U R                  [        U	S	/ 5      5      I Sh  vN   U R                  [        U	S
/ 5      5      I Sh  vN   U	$  GN NQ N/ N7f)aT  Invoke raw Telegram functions.

This method makes it possible to manually call every single Telegram API method in a low-level manner.
Available functions are listed in the :obj:`functions <pyrogram.api.functions>` package and may accept compound
data types from :obj:`types <pyrogram.api.types>` as well as bare types such as ``int``, ``str``, etc...

.. note::

    This is a utility method intended to be used **only** when working with raw
    :obj:`functions <pyrogram.api.functions>` (i.e: a Telegram API method you wish to use which is not
    available yet in the Client class as an easy-to-use method).

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

Parameters:
    query (``RawFunction``):
        The API Schema function filled with proper arguments.

    retries (``int``, *optional*):
        Number of retries.

    timeout (``float``, *optional*):
        Timeout in seconds.

    sleep_threshold (``float``, *optional*):
        Sleep threshold in seconds.

    retry_delay (``float``, *optional*):
        Retry delay in seconds on errors.

    recaptcha_token (``str``, *optional*):
        ReCaptcha token.

    business_connection_id (``str``, *optional*):
        Unique identifier of the business connection.

Returns:
    ``RawType``: The raw type response generated by the query.

Raises:
    RPCError: In case of a Telegram RPC error.
zClient has not been started yet)connection_idr   )r   N)tokenr   )r   )
takeout_idr   )r   r   r   r   r   userschats)is_connectedConnectionErrorsessionr   	functionsInvokeWithBusinessConnectionget_sessionInvokeWithReCaptcha
no_updatesInvokeWithoutUpdatesr   InvokeWithTakeoutinvoker   fetch_peersgetattr)
r   r   r   r   r   r   r   r   r   rs
             M/app/mltbenv/lib/python3.13/site-packages/pyrogram/methods/advanced/invoke.pyr$   Invoke.invoke!   sB    h   !"CDD,,!MM>>4 ? E
 !,,DZ,[[GMM55O5YE??MM66U6CE??MM33tV[3\E..'#2#>DDXDX# ! 
 
 wq'26777wq'26777- \
 	87sI   A E."E%#B3E.E(#E.:E*;#E.E,E.(E.*E.,E. )__name__
__module____qualname____firstlineno__r   MAX_RETRIESWAIT_TIMEOUTRETRY_DELAYr   r   intfloatstrr$   __static_attributes__r*       r(   r	   r	       s     ** --!%$00#&*UU
#U U 	U
 U U U !$U 
U Ur6   r	   )loggingtypingr   pyrogramr   pyrogram.raw.corer   pyrogram.sessionr   	getLoggerr+   logr   r	   r*   r6   r(   <module>r>      s?   &     & $!\"
V Vr6   