Pure Python 3 MTProto API Telegram client library, for bots too!
Go to file
Lonami Exo 69d182815f Merge branch 'constant_read'
Since the secondary thread for constant read is not part of the
TelegramClient anymore, there is no need to restart it. It will
be ran when connecting again.
2017-09-02 21:51:11 +02:00
api Added custom errors, fixes to code generator 2016-09-05 18:35:12 +02:00
docs Show "Methods accepting this type as input" on the docs 2017-07-08 17:31:57 +02:00
telethon Move update handling to the MtProtoSender, being functional again 2017-09-02 21:46:44 +02:00
telethon_examples Make .download_profile_photo() more friendly 2017-08-23 01:35:12 +02:00
telethon_generator Fix confusing names "MtProtoRequest" and ".confirmed" (#176) 2017-07-24 16:54:48 +02:00
telethon_tests Create a centralized Connection class, replaces TcpTransport (#112) 2017-08-28 21:23:31 +02:00
.gitignore Allow creating a new parallel connection (closes #102) 2017-06-15 15:50:44 +02:00
.pre-commit-config.yaml Add pre-commit hooks configuration 2016-11-30 00:29:05 +03:00
LICENSE Updated README.md 2016-09-10 14:10:47 +02:00
MANIFEST.in Changed README.md to README.rst 2016-11-13 15:39:47 +01:00
README-long.rst Let .sign_in() call .send_code_request() 2017-08-31 10:34:09 +02:00
README.rst Let .sign_in() call .send_code_request() 2017-08-31 10:34:09 +02:00
run_tests.py Add shebangs and set proper file permissions 2017-05-20 15:58:44 +02:00
setup.py Favour rsa module over PyCrypto since the former is pure Python 2017-08-24 18:41:48 +02:00
try_telethon.py Support configuring SOCKS proxy in the example 2017-06-17 00:17:51 +02:00

Telethon
========
.. epigraph::

  ⭐️ Thanks **everyone** who has starred the project, it means a lot!

**Telethon** is Telegram client implementation in **Python 3** which uses
the latest available API of Telegram. Remember to use **pip3** to install!

Installing
----------

.. code:: sh

  pip install telethon


Creating a client
-----------------

.. code:: python

  from telethon import TelegramClient

  # These example values won't work. You must get your own api_id and
  # api_hash from https://my.telegram.org, under API Development.
  api_id = 12345
  api_hash = '0123456789abcdef0123456789abcdef'
  phone = '+34600000000'

  client = TelegramClient('session_name', api_id, api_hash)
  client.connect()

  # If you already have a previous 'session_name.session' file, skip this.
  client.sign_in(phone=phone)
  me = client.sign_in(code=77777)  # Put whatever code you received here.


Doing stuff
-----------

.. code:: python

  print(me.stringify())

  client.send_message('username', 'Hello! Talking to you from Telethon')
  client.send_file('username', '/home/myself/Pictures/holidays.jpg')

  client.download_profile_photo(me)
  total, messages, senders = client.get_message_history('username')
  client.download_media(messages[0])


Next steps
----------

Once you've decided that you like the way Telethon looks and feel comfortable
with this code, go ahead and read the full
`README <https://github.com/LonamiWebs/Telethon/blob/HEAD/README-long.rst>`_ :)