mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-22 09:26:37 +03:00
Add further Heroku instructions to session documentation (#588)
This commit is contained in:
parent
f200369a93
commit
4362c02e92
|
@ -59,8 +59,13 @@ session file on your Heroku dyno itself. The most complicated is creating
|
|||
a custom buildpack to install SQLite >= 3.8.2.
|
||||
|
||||
|
||||
Generating Session File on a Heroku Dyno
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Generating a Session File on a Heroku Dyno
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. note::
|
||||
Due to Heroku's ephemeral filesystem all dynamically generated
|
||||
files not part of your applications buildpack or codebase are destroyed
|
||||
upon each restart.
|
||||
|
||||
.. warning::
|
||||
Do not restart your application Dyno at any point prior to retrieving your
|
||||
|
@ -78,7 +83,7 @@ Using this scaffolded code we can start the authentication process:
|
|||
client = TelegramClient('login.session', api_id, api_hash).start()
|
||||
|
||||
At this point your Dyno will crash because you cannot access stdin. Open your
|
||||
Dyno's control panel on the Heroku website and "run console" from the "More"
|
||||
Dyno's control panel on the Heroku website and "Run console" from the "More"
|
||||
dropdown at the top right. Enter ``bash`` and wait for it to load.
|
||||
|
||||
You will automatically be placed into your applications working directory.
|
||||
|
@ -93,3 +98,16 @@ directory. Now you can create a git repo on your account and commit
|
|||
You cannot ``ssh`` into your Dyno instance because it has crashed, so unless
|
||||
you programatically upload this file to a server host this is the only way to
|
||||
get it off of your Dyno.
|
||||
|
||||
You now have a session file compatible with SQLite <= 3.8.2. Now you can
|
||||
programatically fetch this file from an external host (Firebase, S3 etc.)
|
||||
and login to your session using the following scaffolded code:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
fileName, headers = urllib.request.urlretrieve(file_url, 'login.session')
|
||||
client = TelegramClient(os.path.abspath(fileName), api_id, api_hash).start()
|
||||
|
||||
.. note::
|
||||
- ``urlretrieve`` will be depreciated, consider using ``requests``.
|
||||
- ``file_url`` represents the location of your file.
|
||||
|
|
Loading…
Reference in New Issue
Block a user