欢迎访问宙启技术站
智能推送

使用TelethonTelegramClient()在Python中实现Telegram消息转发

发布时间:2023-12-24 17:50:30

Telethon 是一个强大的 Python 框架,用于与 Telegram 进行交互。它提供了一些方便的功能,使您能够使用 Python 从 Telegram 获取、发送和转发消息。下面是一个示例,演示如何使用 Telethon 完成 Telegram 消息转发的功能。

首先,您需要在 Telegram 上注册一个应用程序,以获得 API 密钥和应用程序 ID。请按照下面的步骤进行操作:

1. 打开 Telegram 应用程序,并搜索 @BotFather。

2. 打开 @BotFather 聊天,并发送 /newbot 命令来创建一个新的机器人。

3. 按照 BotFather 的指示,为您的机器人提供一个名称和用户名。

4. BotFather 将为您的机器人分配一个 API 密钥,将其保存在一个安全的地方。

5. 搜索 @userinfobot 并打开。

6. 在 @userinfobot 聊天中发送 /start 命令,你会收到一条关于你的 Telegram 用户信息的消息。

7. 记下消息中的 “id” 字段的值,这将作为您的应用程序 ID。

接下来,请确保您已安装 Telethon 模块。您可以在终端中使用以下命令来安装:

pip install telethon

安装完成后,您可以使用以下代码来实现 Telegram 消息转发的功能:

from telethon.sync import TelegramClient, events

# 替换以下参数为您的 API 密钥和应用程序 ID
api_id = 'your_api_id'
api_hash = 'your_api_hash'

# 替换以下参数为您的源聊天和目标聊天的 ID
source_chat = 'source_chat_username'
target_chat = 'target_chat_username'

# 创建 Telegram Client 实例
with TelegramClient('session_name', api_id, api_hash) as client:
    # 定义事件处理程序,从源聊天接收新消息
    @client.on(events.NewMessage(chats=source_chat))
    async def handler(event):
        # 获取从源聊天收到的消息文本
        message = event.message.text

        # 将消息转发到目标聊天
        await client.send_message(target_chat, message)

    # 启动 Telegram Client
    client.run_until_disconnected()

在代码中,您需要将 your_api_idyour_api_hash 替换为您在注册应用程序时获得的 API 密钥和应用程序 ID。另外,您还需要将 source_chat_usernametarget_chat_username 替换为您要转发消息的源聊天和目标聊天的用户名。

运行代码后,Telethon 将创建一个会话并连接到 Telegram。然后,它将等待从源聊天中接收到新消息,并将这些消息转发到目标聊天。

希望这个示例对您有所帮助!