Pure Python 3 MTProto API Telegram client library, for bots too!
Go to file
Lonami Exo 67be6418b6 Remove callback parameter from custom.Button
Its behaviour was strange. Removing and adding an event
handler every time a message is sent is not a good idea
and it would just do more harm than good.
2018-10-05 20:54:50 +02:00
.github Make it clearer that issues are not questions 2018-08-28 11:45:21 +02:00
readthedocs Update to v1.3 2018-09-22 19:37:16 +02:00
telethon Remove callback parameter from custom.Button 2018-10-05 20:54:50 +02:00
telethon_examples Update examples to make them easier to run 2018-09-04 11:52:18 +02:00
telethon_generator Add autocast for InputDocument and InputChatPhoto 2018-10-05 14:11:47 +02:00
.gitignore Support async def in sessions (#1013) 2018-10-05 20:25:49 +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 Update to v1.3 2018-09-22 19:37:16 +02:00
setup.py Explicitly open files as 'r' instead of leaving it out 2018-06-29 11:34:57 +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