pyrogram/docs/source/resources/AutoAuthorization.rst
2018-01-25 13:47:26 +01:00

60 lines
1.9 KiB
ReStructuredText

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())