Telethon Logo

Telethon

高效异步Python库实现Telegram API交互

TelethonPythonTelegramAPI异步Github开源项目

Telethon是一个开源的、基于asyncio的Python 3 MTProto库,专门用于Telegram API交互。它支持用户和机器人账户操作,提供消息发送、文件传输、媒体下载和事件处理等核心功能。Telethon大幅简化了Telegram应用开发过程,为开发者提供高效、灵活的工具,适用于构建多样化的Telegram客户端、机器人和自动化脚本。

Telethon

.. epigraph::

⭐️ 感谢所有为项目点星的人,这对我们意义重大!

|logo| Telethon是一个asyncio_ Python 3 MTProto_库,用于以用户身份或通过机器人账号(作为机器人API的替代方案)与Telegram_的API进行交互。

.. important::

如果你在使用Telethon 1.0版本之前的代码,你必须
阅读`兼容性和便利性`_以了解如何迁移。
与任何第三方Telegram库一样,请小心不要
违反`Telegram的服务条款`_,否则`Telegram可能会封禁账号`_。

这是什么?

Telegram是一款流行的即时通讯应用。这个库旨在 让你能够轻松编写可与Telegram交互的Python程序。可以将其视为 一个已经为你完成了繁重工作的封装器,这样你就可以专注于开发应用程序。

安装

.. code-block:: sh

pip3 install telethon

创建客户端

.. code-block:: python

from telethon import TelegramClient, events, sync

# 这些示例值无法使用。你必须从https://my.telegram.org的API开发部分
# 获取自己的api_id和api_hash。
api_id = 12345
api_hash = '0123456789abcdef0123456789abcdef'

client = TelegramClient('session_name', api_id, api_hash)
client.start()

开始使用

.. code-block:: python

print(client.get_me().stringify())

client.send_message('username', '你好!我正在使用Telethon与你交谈')
client.send_file('username', '/home/myself/Pictures/holidays.jpg')

client.download_profile_photo('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('嘿!')

下一步

你喜欢Telethon的样子吗?查看Read The Docs_以获取更 深入的解释,包括示例、问题排查以及更多 有用的信息。

.. _asyncio: https://docs.python.org/3/library/asyncio.html .. _MTProto: https://core.telegram.org/mtproto .. _Telegram: https://telegram.org .. _兼容性和便利性: https://docs.telethon.dev/en/stable/misc/compatibility-and-convenience.html .. _Telegram的服务条款: https://core.telegram.org/api/terms .. _Telegram可能会封禁账号: 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