Pure Python 3 MTProto API Telegram client library, for bots too!
Go to file
Lonami Exo 5d4b8a283d Don't generate def resolve() for types
This would require nested resolving which could be quite
expensive. Instead there will just be a single level for
resolve() and it will belong in the requests.
2018-07-07 12:17:29 +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 Update to v1.0.3 2018-07-04 15:41:11 +02:00
telethon Revert forward_messages requiring named from_peer arg 2018-07-07 12:14:50 +02:00
telethon_examples Feature 'with client:' syntax in the examples 2018-06-27 10:03:26 +02:00
telethon_generator Don't generate def resolve() for types 2018-07-07 12:17:29 +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