diff --git a/readthedocs/extra/basic/creating-a-client.rst b/readthedocs/extra/basic/creating-a-client.rst index ba4adc28..3d3b67f0 100644 --- a/readthedocs/extra/basic/creating-a-client.rst +++ b/readthedocs/extra/basic/creating-a-client.rst @@ -150,10 +150,34 @@ The mentioned ``.start()`` method will handle this for you as well, but you must set the ``password=`` parameter beforehand (it won't be asked). If you don't have 2FA enabled, but you would like to do so through the library, -use :obj:`client.edit_2fa ` -for it. Be sure to know what you're doing when using this function and you -won't run into any problems. +use ``client.edit_2fa()``. +Take note that if you want to set only the email/hint and leave the current password unchanged, you need to "redo" the 2fa. +See the examples below: + .. code-block:: python + + from telethon.errors import EmailUnconfirmedError + + # Sets 2FA password for first time: + client.edit_2fa(new_password='supersecurepassword') + + # Changes password: + client.edit_2fa(current_password='supersecurepassword', new_password='changedmymind') + + # Clears current password (i.e. removes 2FA): + client.edit_2fa(current_password='changedmymind', new_password=None) + + # Sets new password with recovery email: + try: + client.edit_2fa(new_password='memes and dreams', email='JohnSmith@example.com') + except EmailUnconfirmedError: # Tells you that you need to check your email to complete 2FA setup. + pass # No action needed, or you can put email checking code here if desired. + + # Also take note that unless you remove 2FA or explicitly give email parameter again, it will keep the last used setting + + # Set hint after already setting password: + client.edit_2fa(current_password='memes and dreams, new_password='memes and dreams', hint='It keeps you alive') + __ https://github.com/Anorov/PySocks#installation __ https://github.com/Anorov/PySocks#usage-1