Telethon 开源项目使用教程
telethon项目地址:https://gitcode.com/gh_mirrors/tel/telethon
项目介绍
Telethon 是一个基于 asyncio 的 Python 3 MTProto 库,用于与 Telegram 的 API 进行交互,既可以作为用户账户使用,也可以通过 bot 账户(替代 bot API)使用。这个库旨在简化编写与 Telegram 交互的 Python 程序的过程,提供了一个已经完成繁重工作的封装,使用户可以专注于开发应用程序。
项目快速启动
安装
首先,你需要安装 Telethon。可以使用 pip 进行安装:
pip3 install telethon
创建客户端
以下是一个简单的示例,展示如何创建一个 Telethon 客户端并进行基本的操作:
from telethon import TelegramClient, events, sync
# 使用你的 API ID 和 API hash
api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'
client = TelegramClient('session_name', api_id, api_hash)
async def main():
# 获取对话列表
dialogs = await client.get_dialogs()
for dialog in dialogs:
print(dialog.name, 'has ID', dialog.id)
with client:
client.loop.run_until_complete(main())
应用案例和最佳实践
自动回复机器人
一个常见的应用案例是创建一个自动回复机器人。以下是一个简单的示例,展示如何设置一个基本的自动回复机器人:
from telethon import TelegramClient, events
api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'
client = TelegramClient('auto_reply_bot', api_id, api_hash)
@client.on(events.NewMessage(pattern='(?i)hello'))
async def handler(event):
await event.respond('Hi there!')
with client:
client.run_until_disconnected()
监控消息
另一个常见的应用是监控特定群组或频道的消息。以下是一个示例,展示如何监控特定群组的消息:
from telethon import TelegramClient, events
api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'
client = TelegramClient('message_monitor', api_id, api_hash)
@client.on(events.NewMessage(chats='@specific_channel'))
async def handler(event):
print(f"New message in channel: {event.message.text}")
with client:
client.run_until_disconnected()
典型生态项目
Telethon 生态系统
Telethon 不仅是一个库,还是一个活跃的生态系统,包含了许多相关的项目和工具,例如:
- Telethon Extensions: 提供额外的功能和工具,以增强 Telethon 的能力。
- Telethon Bots: 专门用于创建和管理 Telegram 机器人的项目。
- Telethon Scripts: 收集了一些常用的脚本和示例,帮助用户快速上手和实现特定功能。
这些项目和工具共同构成了一个强大的生态系统,使得使用 Telethon 进行开发变得更加高效和便捷。