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

Telethon无法捕获Telegram实时消息问题求助

解决Telethon无法捕获实时消息的问题

以下是针对你问题的排查和解决步骤:

  • 核对Chat ID的正确性
    Chat ID格式错误是最常见的原因,尤其是超级群组和频道的ID往往带有-100前缀。先运行这段代码获取目标聊天的准确ID:

    from telethon import TelegramClient
    
    api_id = 'xxxxxxx'
    api_hash = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    
    client = TelegramClient('anon', api_id, api_hash)
    
    async def get_chat_ids():
        async for dialog in client.iter_dialogs():
            print(f"聊天名称: {dialog.name}, ID: {dialog.id}")
    
    with client:
        client.loop.run_until_complete(get_chat_ids())
    

    把输出里的目标ID复制替换到你的chat_id_scalping中,确保完全匹配。

  • 检查Bot账号权限(若使用Bot登录)
    如果用的是Bot账号,必须确保Bot已被添加到目标群组/频道,且在权限设置中开启了查看消息权限。没有这个权限的Bot无法捕获任何消息。

  • 确认账号已加入目标聊天
    若目标是私有群组或加密频道,你登录的账号必须是该聊天的成员。先用Telegram客户端登录同一个账号,确认能正常看到该聊天的消息。

  • 测试无过滤监听
    暂时移除chats参数,先监听所有新消息,验证是否能捕获到内容:

    @client.on(events.NewMessage)
    async def my_event_handler(event):
        try:
            print(f"来自聊天 {event.chat_id}: {event.raw_text}")
        except Exception as e:
            print(e)
    

    如果这样能收到消息,说明之前的Chat ID有误;如果还是收不到,继续下一步排查。

  • 重新生成会话文件
    删除当前目录下的anon.session文件,重新运行代码登录,让Telethon生成全新的会话数据——旧会话文件可能存在损坏或权限异常。

  • 更新Telethon到最新版本
    旧版本可能存在兼容性问题,运行命令升级:

    pip install --upgrade telethon
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 04:12:02