Pure Python 3 MTProto API Telegram client library, for bots too!
Go to file
Lonami Exo 44630542d0 Fix MessageAction not allowing access to media
This caused some issues with events.MessageEdited because
some MessageAction can trigger these edit updates such as
scoring in a game.
2018-07-03 14:13:44 +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 Explicitly open files as 'r' instead of leaving it out 2018-06-29 11:34:57 +02:00
telethon Fix MessageAction not allowing access to media 2018-07-03 14:13:44 +02:00
telethon_examples Feature 'with client:' syntax in the examples 2018-06-27 10:03:26 +02:00
telethon_generator Update to layer 82 2018-06-29 13:23:56 +02:00
telethon_tests Update usage of deprecated methods in the docs 2018-04-25 09:55:34 +02:00
.gitignore Remove underscore from module names 2018-06-18 21:02:42 +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