diff --git a/docs/source/index.rst b/docs/source/index.rst index 7ac0e7de..b75801a2 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -18,7 +18,7 @@ Welcome to Pyrogram

Telegram MTProto API Client Library for Python
- + Download • @@ -103,6 +103,7 @@ To get started, press Next. resources/UpdateHandling resources/ErrorHandling resources/ProxyServer + resources/AutoAuthorization .. toctree:: :hidden: diff --git a/docs/source/resources/AutoAuthorization.rst b/docs/source/resources/AutoAuthorization.rst new file mode 100644 index 00000000..304c9fa5 --- /dev/null +++ b/docs/source/resources/AutoAuthorization.rst @@ -0,0 +1,60 @@ +Auto Authorization +================== + +Manually writing phone number, phone code and password on the terminal every time you want to login can be tedious. +Pyrogram is able to automate both **Sign-In** and **Sign-Up** processes, all you need to do is pass the relevant +parameters when creating a new Client. + +Sign-In +------- + +To automate the **Sign-In** process, pass your *phone_number* and *password* (if you have one) in the Client parameters. +If you want to retrieve the phone code programmatically, pass a callback function in the *phone_code* field — this +function must return the correct phone code as string (e.g., "12345") — otherwise, ignore this parameter, Pyrogram will +ask you to input the phone code manually. + +.. code-block:: python + + from pyrogram import Client + + def phone_code_callback(): + code = ... # Get your code programmatically + return code # Must be string, e.g., "12345" + + + client = Client( + session_name="example", + phone_number="39**********", + phone_code=phone_code_callback, + password="password" # (if you have one) + ) + + client.start() + print(client.get_me()) + +Sign-Up +------- + +To automate the **Sign-Up** process (i.e., automatically create a new Telegram account), simply fill **both** +*first_name* and *last_name* fields alongside the other parameters; they will be used to automatically create a new +Telegram account in case the phone number you passed is not registered yet. + +.. code-block:: python + + from pyrogram import Client + + def phone_code_callback(): + code = ... # Get your code programmatically + return code # Must be string, e.g., "12345" + + + client = Client( + session_name="example", + phone_number="39**********", + phone_code=phone_code_callback, + first_name="Pyrogram", + last_name="" # Can be an empty string + ) + + client.start() + print(client.get_me()) \ No newline at end of file