Telethon README

The project's README from github.com/LonamiWebs/Telethon. As one markdown file: README.md.

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('session_name', api_id, 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.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('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

Telethon (LonamiWebs/Telethon)

Searching Database…

12.1K ·GitHub
archived
这是什么?Telethon 是一个基于 asyncio 的 Python 3 MTProto 库,可以直接与 Telegram 的 API 交互,让你既能以完整的用户账号身份操作,也能以机器人身份操作。
这是 Telegram Bot API 的封装,还是别的东西?它直接使用 Telegram 原生的 MTProto 协议与服务器通信,而不是封装官方的 Bot API。协议层面的工作由它处理,你只需要编写普通的 Python 程序即可。
我该怎么安装并让客户端跑起来?用 'pip3 install telethon' 安装,然后用一个会话名称加上你的 api_id 和 api_hash 创建 TelegramClient,再调用 client.start()。
开始之前我需要先有 Telegram 的 API ID 和 hash 吗?需要。你必须从 Telegram 的 API Development 页面获取自己的 api_id 和 api_hash;README 里的示例值无法使用。
这个项目还在维护吗?不再维护。仓库已归档,README 中说明项目已迁移,将来可能会被删除,因此不要指望这里会有修复或更新。
Telethon 能同时以普通用户和机器人身份登录吗?可以。它既能以完整的 Telegram 用户账号登录,也能以机器人账号登录,能做的事情不止官方 Bot API 所提供的。
它支持 async/await 事件处理吗?支持。它基于 asyncio 构建,允许你编写异步处理函数,例如用 @client.on(events.NewMessage(pattern=...)) 装饰一个函数,即可对收到的消息做出响应。
我的账号有被封禁的风险吗?有。它属于第三方客户端,如果滥用,可能违反 Telegram 的服务条款,并导致账号被封禁。
开箱即用能做什么?只需几行代码,就能收发消息、发送或下载文件和媒体、获取头像,以及读取消息历史记录。
Creator
LonamiWebs
Size
9.6 MB
Stars
12.1K
Updated
CommitFeb 21
Age
10y
Commits · 90 Days