
    $Sh)                     D    d dl Z d dlZd dlZd dlmZ  G d d          ZdS )    N)idlec                       e Zd Z	 d	 ddZdS )RunNselfpyrogram.Clientc                    t          j                    }|j        }| ||           dS t          j        | j                  rS ||                                             |t                                  ||                                            dS |                                   |t                                 |                                  dS )a  Start the client, idle the main script and finally stop the client.

        When calling this method without any argument it acts as a convenience method that calls
        :meth:`~pyrogram.Client.start`, :meth:`~pyrogram.idle` and :meth:`~pyrogram.Client.stop` in sequence.
        It makes running a single client less verbose.

        In case a coroutine is passed as argument, runs the coroutine until it's completed and doesn't do any client
        operation. This is almost the same as :py:obj:`asyncio.run` except for the fact that Pyrogram's ``run`` uses the
        current event loop instead of a new one.

        If you want to run multiple clients at once, see :meth:`pyrogram.compose`.

        Parameters:
            coroutine (``Coroutine``, *optional*):
                Pass a coroutine to run it until it completes.

        Raises:
            ConnectionError: In case you try to run an already started client.

        Example:
            .. code-block:: python

                from pyrogram import Client

                app = Client("my_account")
                ...  # Set handlers up
                app.run()

            .. code-block:: python

                from pyrogram import Client

                app = Client("my_account")


                async def main():
                    async with app:
                        print(await app.get_me())


                app.run(main())
        N)asyncioget_event_looprun_until_completeinspectiscoroutinefunctionstartr   stop)r   	coroutineloopruns       d/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/pyrogram/methods/utilities/run.pyr   zRun.run   s    \ %''% C	NNNNN*4:66 DJJLL!!!DFFDIIKK     

DFF		    )N)r   r   )__name__
__module____qualname__r    r   r   r   r      s5         ;; ; ; ; ; ;r   r   )r	   r   pyrogrampyrogram.methods.utilities.idler   r   r   r   r   <module>r      sf   &    0 0 0 0 0 0< < < < < < < < < <r   