Pure Python 3 MTProto API Telegram client library, for bots too!
Go to file
2017-09-07 20:29:51 +02:00
.github Add ISSUE_TEMPLATE for GitHub 2017-09-05 19:16:22 +02:00
api Added custom errors, fixes to code generator 2016-09-05 18:35:12 +02:00
docs Make lint happier 2017-09-04 17:10:04 +02:00
telethon Allow adding update handlers without the need to poll updates 2017-09-07 20:29:51 +02:00
telethon_examples Add basic updates processing to ignore updates with lower .pts 2017-09-07 20:17:40 +02:00
telethon_generator Make lint happier 2017-09-04 17:10:04 +02:00
telethon_tests Make lint happier 2017-09-04 17:10:04 +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 Properly ignore core types when generating code 2017-09-04 16:38:03 +02:00
README.rst Let .sign_in() call .send_code_request() 2017-08-31 10:34:09 +02:00
run_tests.py Make lint happier 2017-09-04 17:10:04 +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>`_ :)