Pure Python 3 MTProto API Telegram client library, for bots too!
Go to file
Lonami Exo dde196d8e4 Swallow errors when processing entities
Some bug was causing an infinite lock due to the entity
database failing with InputPeerSelf, since adding a full
entity to the database wasn't disallowing self, and so
wasn't utils get_peer_id. Although last commit fixed that,
just in case, swallow errors there.
2017-10-05 13:34:44 +02:00
.github More friendly issue template 2017-09-28 12:20:56 +02:00
api Added custom errors, fixes to code generator 2016-09-05 18:35:12 +02:00
docs Make generated description on the docs more friendly 2017-09-29 12:14:09 +02:00
telethon Swallow errors when processing entities 2017-10-05 13:34:44 +02:00
telethon_examples Add method to .delete_messages() (#282) 2017-10-02 18:59:29 +02:00
telethon_generator Fix wrong .empty() due to variable shadowing (from ce48c97) 2017-10-01 10:45:59 +02:00
telethon_tests Completely remove BinaryWriter from the project 2017-09-28 11:49:45 +02:00
.gitignore Revert "Designed Logo, added to README (#283)" 2017-10-03 09:23:22 +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.rst Revert "Designed Logo, added to README (#283)" 2017-10-03 09:23:22 +02:00
run_tests.py Make lint happier 2017-09-04 17:10:04 +02:00
setup.py Run setup.py gen_tl when installing (may fix #271) 2017-09-29 12:40:03 +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
----------

Do you like how Telethon looks? Check the
`wiki over GitHub <https://github.com/LonamiWebs/Telethon/wiki>`_ for a
more in-depth explanation, with examples, troubleshooting issues, and more
useful information.