2018-01-25 12:47:26 +00:00
|
|
|
Auto Authorization
|
|
|
|
==================
|
|
|
|
|
|
|
|
Manually writing phone number, phone code and password on the terminal every time you want to login can be tedious.
|
2018-02-27 17:15:10 +00:00
|
|
|
Pyrogram is able to automate both **Log In** and **Sign Up** processes, all you need to do is pass the relevant
|
2018-01-25 12:47:26 +00:00
|
|
|
parameters when creating a new Client.
|
|
|
|
|
2018-02-21 11:21:10 +00:00
|
|
|
.. note:: If you omit any of the optional parameter required for the authorization, Pyrogram will ask you to
|
|
|
|
manually write it. For instance, if you don't want to set a *last_name* when creating a new account you
|
|
|
|
have to explicitly pass an empty string ""; the default value (None) will trigger the input() call.
|
|
|
|
|
2018-02-27 17:15:10 +00:00
|
|
|
Log In
|
2018-01-25 12:47:26 +00:00
|
|
|
-------
|
|
|
|
|
2018-02-27 17:15:10 +00:00
|
|
|
To automate the **Log In** process, pass your *phone_number* and *password* (if you have one) in the Client parameters.
|
2018-01-25 12:47:26 +00:00
|
|
|
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())
|
|
|
|
|
2018-02-27 17:15:10 +00:00
|
|
|
Sign Up
|
2018-01-25 12:47:26 +00:00
|
|
|
-------
|
|
|
|
|
2018-02-27 17:15:10 +00:00
|
|
|
To automate the **Sign Up** process (i.e., automatically create a new Telegram account), simply fill **both**
|
2018-01-25 12:47:26 +00:00
|
|
|
*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())
|