You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Telegram Bot设置监听器?实现程序化获取消息

解决方案

方法1:用普通用户账号通过MTProto库监听

Telegram不允许Bot间交互,但普通用户账号可以和任意Bot对话,所以可以用支持MTProto协议的库模拟用户行为来监听目标天气Bot的消息:

  • 选Python的Pyrogram或Telethon这类库,登录自己的普通用户账号(需要手机号收验证码完成验证)。
  • 核心步骤:
    1. 从my.telegram.org获取自己的API ID和API Hash,用于初始化客户端。
    2. 监听新消息事件,过滤出目标天气Bot的对话。
    3. 收到消息后直接提取内容做后续处理。
  • 示例代码(Telethon):
from telethon import TelegramClient, events

# 替换成自己的API凭证和目标Bot用户名
API_ID = 123456
API_HASH = 'your_api_hash'
TARGET_BOT = '@your_weather_bot'

client = TelegramClient('weather_listener', API_ID, API_HASH)

@client.on(events.NewMessage(chats=TARGET_BOT))
async def catch_weather_msg(event):
    msg_content = event.message.text
    print(f"天气Bot新消息:{msg_content}")
    # 这里加你的处理逻辑,比如存数据库、解析数据等

client.start()
client.run_until_disconnected()

方法2:通过自动转发+Bot监听中转

如果需要用自己的Bot处理消息,可以通过普通用户账号做中转:

  • 用普通用户账号设置自动转发规则,把天气Bot的所有消息转发到一个私有频道或者你的Bot对应的聊天窗口。
  • 你的Bot监听这个私有频道/聊天,就能获取到转发过来的天气Bot消息。
  • 自动转发可以用Telethon/Pyrogram实现,也可以用Telegram自带的转发功能手动设置规则。

注意事项

  • 必须用普通用户账号对接目标天气Bot,这是绕开Bot间交互限制的核心前提。
  • 使用MTProto库时别搞频繁请求或异常操作,避免账号被Telegram封禁。
  • API ID和API Hash是个人专属凭证,别泄露给他人。

内容的提问来源于stack exchange,提问作者Momo Setti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:05:16