Pure Python 3 MTProto API Telegram client library, for bots too!
Moved to https://codeberg.org/Lonami/Telethon. The GitHub repository may be deleted in the future.
Telethon ======== .. epigraph::
โญ๏ธ Thanks everyone who has starred the project, it means a lot!
|logo| Telethon is an asyncio_ Python 3 MTProto library to interact with Telegram's API as a user or through a bot account (bot API alternative).
.. important::
If you have code using Telethon before its 1.0 version, you must read Compatibility and Convenience_ to learn how to migrate. As with any third-party library for Telegram, be careful not to break Telegram's ToS or Telegram can ban the account.
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-block:: sh
pip3 install telethon
Creating a client
.. code-block:: python
from telethon import TelegramClient, events, 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('sessionname', apiid, api_hash) client.start()
Doing stuff
.. code-block:: 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.downloadprofilephoto('me') messages = client.get_messages('username') messages[0].download_media()
@client.on(events.NewMessage(pattern='(?i)hi|hello')) async def handler(event): await event.respond('Hey!')
Next steps
Do you like how Telethon looks? Check out Read The Docs_ for a more in-depth explanation, with examples, troubleshooting issues, and more useful information.
.. _asyncio: https://docs.python.org/3/library/asyncio.html .. _MTProto: https://core.telegram.org/mtproto .. _Telegram: https://telegram.org .. _Compatibility and Convenience: https://docs.telethon.dev/en/stable/misc/compatibility-and-convenience.html .. _Telegram's ToS: https://core.telegram.org/api/terms .. _Telegram can ban the account: https://docs.telethon.dev/en/stable/quick-references/faq.html#my-account-was-deleted-limited-when-using-the-library .. _Read The Docs: https://docs.telethon.dev
.. |logo| image:: logo.svg :width: 24pt :height: 24pt