Telethon/README.rst

84 lines
2.3 KiB
ReStructuredText
Raw Normal View History

2017-08-24 20:08:21 +03:00
Telethon
========
2023-06-04 12:36:27 +03:00
2017-08-24 20:08:21 +03:00
.. epigraph::
⭐️ Thanks **everyone** who has starred the project, it means a lot!
2017-08-24 20:08:21 +03:00
2018-10-06 21:20:11 +03:00
|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).
2018-10-06 21:20:11 +03:00
.. important::
2023-06-04 12:36:27 +03:00
If you have code using Telethon before its 2.0 version, it is strongly
recommended to read the Migration Guide section in the documentation.
As with any third-party library for Telegram, be careful not to
break `Telegram's ToS`_ or `Telegram can ban the account`_.
2018-01-09 20:04:51 +03:00
2023-06-04 12:36:27 +03:00
2018-01-09 20:04:51 +03:00
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.
2017-08-24 20:08:21 +03:00
Installing
----------
2018-10-06 21:20:11 +03:00
.. code-block:: sh
2017-08-24 20:08:21 +03:00
pip install telethon
2017-08-24 20:08:21 +03:00
Creating a client
-----------------
2018-10-06 21:20:11 +03:00
.. code-block:: python
2017-08-24 20:08:21 +03:00
2018-10-06 21:20:11 +03:00
from telethon import TelegramClient, events, sync
2017-08-24 20:08:21 +03:00
# 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'
2017-08-24 20:08:21 +03:00
2023-06-04 12:36:27 +03:00
async with TelegramClient('session_name', api_id, api_hash) as client:
await client.interactive_login()
2017-08-24 20:08:21 +03:00
Doing stuff
-----------
2018-10-06 21:20:11 +03:00
.. code-block:: python
2017-08-24 20:08:21 +03:00
2023-06-04 12:36:27 +03:00
print(await client.get_me())
2017-08-24 20:08:21 +03:00
2023-06-04 12:36:27 +03:00
await client.send_message('username', 'Hello! Talking to you from Telethon')
await client.send_photo('username', '/home/myself/Pictures/holidays.jpg')
2017-08-24 20:08:21 +03:00
2023-06-04 12:36:27 +03:00
async for message in client.get_messages('username', 1):
path = await message.download_media()
print('Saved media to', path)
2018-10-06 21:20:11 +03:00
2017-08-24 20:08:21 +03:00
Next steps
----------
2023-06-04 12:36:27 +03:00
Do you like how Telethon looks? Check out the documentation for a more
2018-10-06 21:20:11 +03:00
in-depth explanation, with examples, troubleshooting issues, and more
useful information.
2018-06-24 16:51:24 +03:00
2018-10-06 21:20:11 +03:00
.. _asyncio: https://docs.python.org/3/library/asyncio.html
.. _MTProto: https://core.telegram.org/mtproto
.. _Telegram: https://telegram.org
.. _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
2018-06-24 16:51:24 +03:00
.. |logo| image:: logo.svg
:width: 24pt
:height: 24pt