Pure Python 3 MTProto API Telegram client library, for bots too!
Go to file
2018-08-27 02:26:06 +02:00
.github Be more strict in the ISSUE_TEMPLATE 2018-04-26 19:00:45 +02:00
api Added custom errors, fixes to code generator 2016-09-05 18:35:12 +02:00
readthedocs Clarify Creating a Client in the docs 2018-08-27 02:26:06 +02:00
telethon Fix resolving events while disconnected 2018-08-27 01:20:01 +02:00
telethon_examples Document new MultiError (and better links on assistant) 2018-08-24 20:15:01 +02:00
telethon_generator Fix-up f25541e (.to_dict() on patched objects) 2018-08-09 11:16:36 +02:00
telethon_tests Update usage of deprecated methods in the docs 2018-04-25 09:55:34 +02:00
.gitignore Create a third module to store patched objects 2018-07-22 19:12:09 +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
logo.svg Use better practices for logo's svg 2018-06-26 10:12:00 +02:00
MANIFEST.in Changed README.md to README.rst 2016-11-13 15:39:47 +01:00
optional-requirements.txt Remove SQLAlchemy session 2018-03-17 17:38:16 +01:00
README.rst Mention telethon-sync 2018-06-28 09:40:38 +02:00
requirements.txt Add Python type hints to attributes of TL types (#678) 2018-03-12 10:58:56 +01:00
run_tests.py Make lint happier 2017-09-04 17:10:04 +02:00
setup.py Explicitly open files as 'r' instead of leaving it out 2018-06-29 11:34:57 +02:00
try_telethon.py Update examples to be async 2018-06-24 12:04:23 +02:00

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

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

|logo| **Telethon** is an `asyncio
<https://docs.python.org/3/library/asyncio.html>`_ **Python 3** library
to interact with Telegram's API.

**If you're upgrading from Telethon pre-1.0 to 1.0, please make sure to read**
`this section of the documentation
<https://telethon.readthedocs.io/en/latest/extra/basic/asyncio-magic.html>`_,
or ``pip install telethon-sync`` which is compatible with `synchronous code
<https://github.com/LonamiWebs/Telethon/tree/sync>`_. Don't forget to remove
the asynchronous version (``pip uninstall telethon``) if you do install sync.

What is this?
-------------

Telegram is a popular messaging application. This library is meant
to make it easy for you to write Python programs that can interact
with Telegram. Think of it as a wrapper that has already done the
heavy job for you, so you can focus on developing an application.


Installing
----------

.. code:: sh

  pip3 install telethon


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

.. code:: python

    from telethon import TelegramClient, sync

    # 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'

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


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

.. code:: python

    print(client.get_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')
    messages = client.get_messages('username')
    messages[0].download_media()


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

Do you like how Telethon looks? Check out `Read The Docs
<http://telethon.rtfd.io/>`_ for a more in-depth explanation,
with examples, troubleshooting issues, and more useful information.


.. |logo| image:: logo.svg
    :width: 24pt
    :height: 24pt