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

Pyrogram处理部分频道消息时持续触发Peer id无效错误

Pyrogram Peer ID无效错误排查与解决办法

错误原因

从错误日志和消息数据来看,问题核心在于Pyrogram对频道Peer ID的范围判定逻辑:

  • 收到的频道原始ID为2266047364,生成的标准频道Peer ID为-1002266047364
  • 旧版本Pyrogram的get_peer_type函数中,频道Peer ID的判定范围被限制在-1009999999999 <= peer_id <= -100000000000,而-1002266047364小于该范围最小值,因此被判定为无效ID
  • 本质是旧版本Pyrogram未适配Telegram新增的10位以上长度的频道ID

解决办法

  • 优先升级Pyrogram到最新版本:新版本已修复频道ID范围限制问题,完全支持更长的频道ID。执行升级命令:
    pip install --upgrade pyrogram tgcrypto
    
  • 临时修复(不推荐):若无法升级,可手动修改Pyrogram安装目录下的utils.py文件,调整get_peer_type函数中的频道ID范围,例如:
    elif -100999999999999 <= peer_id <= -100000000000:
        return PeerType.CHANNEL
    
  • 预加载频道信息:调用get_chat方法获取该频道的完整信息,存入Pyrogram本地存储,避免后续处理消息时触发resolve_peer失败:
    await app.get_chat(-1002266047364)
    

内容的提问来源于stack exchange,提问作者домашнее животное

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:40:59