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

无法将Bot加入Telegram私有群组时如何通过Python获取群消息更新?

可行方案:使用Telegram用户客户端API(而非Bot API)

常规的Bot API确实要求Bot加入对应群组才能获取消息推送,你可以改用MTProto用户API实现需求,该方案通过你已加入群组的个人Telegram账号授权调用接口,无需将Bot加入目标群组即可监听、拉取群内消息,可完全用Python实现。

推荐依赖库

  • 你可以选择Pyrogram或Telethon两个成熟的Python库,二者都封装了Telegram原生MTProto协议,无需自己处理底层通信逻辑。

实现步骤(以Telethon为例)

  1. 申请API凭据:前往Telegram官方API申请页面,用你自己的Telegram账号登录,创建一个个人应用即可获取专属的api_id和api_hash,这两个是调用接口的必要凭证。
  2. 安装依赖:执行命令pip install telethon完成库安装。
  3. 实时消息监听示例代码:
from telethon import TelegramClient, events

# 替换为你自己的api_id、api_hash、绑定账号的手机号(带国际区号,中国区号码前缀为+86)
api_id = 123456
api_hash = "替换为你的api_hash字符串"
phone = "+8613xxxxxxxxx"
# 替换为目标私有群组的ID,可通过下方的群列表查询代码获取
TARGET_GROUP_ID = -100xxxxxxxxx

client = TelegramClient("my_session", api_id, api_hash)

@client.on(events.NewMessage())
async def handle_new_message(event):
    # 校验消息是否来自目标群组
    chat = await event.get_chat()
    if chat.id != TARGET_GROUP_ID:
        return
    # 以下为自定义业务逻辑,可修改为存储、转发等操作
    print(f"收到新消息:{event.text}")
    # 可按需获取发送者信息、媒体附件等内容
    sender = await event.get_sender()
    print(f"发送者昵称:{sender.first_name},发送者ID:{sender.id}")

if __name__ == "__main__":
    client.start(phone)
    print("消息监听已启动")
    client.run_until_disconnected()

辅助工具代码

你可以运行以下代码打印你账号加入的所有群组的名称和ID,快速获取目标私有群组的ID:

from telethon import TelegramClient

api_id = 123456
api_hash = "替换为你的api_hash字符串"
phone = "+8613xxxxxxxxx"

client = TelegramClient("my_session", api_id, api_hash)

async def get_all_groups():
    async for dialog in client.iter_dialogs():
        if dialog.is_group:
            print(f"群名称:{dialog.name},群ID:{dialog.id}")

if __name__ == "__main__":
    with client:
        client.loop.run_until_complete(get_all_groups())

注意事项

  • 首次运行代码需要输入手机号收到的短信验证码,若账号开启了两步验证还需要输入账号密码,登录成功后会在本地生成session缓存文件,后续运行无需重复验证。
  • 该方案模拟你个人账号的正常使用行为,只要遵守Telegram的用户协议,不短时间高频调用接口、不发送违规内容,不会出现账号封禁问题。
  • 你可以按需扩展逻辑,比如将消息同步到数据库、转发到其他渠道、触发指定业务动作等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:09:00