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

使用Pyrogram启动Telegram Bot时遭遇KeyError:0错误求助

Pyrogram启动Telegram Bot时出现KeyError: 0错误

环境信息

  • Pyrogram 2.0.97
  • Python 3.9.6
  • 选择Pyrogram是因其装饰器特性

基础代码

from pyrogram import Client, filters
from pyrogram.types import Message
from pyrogram.types import (
    InlineKeyboardButton, InlineKeyboardMarkup, ReplyKeyboardMarkup
)

TELEGRAM_API_ID = "22284blablabla"
TELEGRAM_API_HASH = "186a3759fc29f394bad2700cc29ecblablabla"
TELEGRAM_BOT_TOKEN = "blablablablabla"

app = Client(
    'SegBot',
    api_id=TELEGRAM_API_ID,
    api_hash=TELEGRAM_API_HASH,
    bot_token=TELEGRAM_BOT_TOKEN
)

@app.on_message(filters.private)
async def hello(client, message):
    await message.reply("Hello from Pyrogram!")

print('running!!!')
app.run()

报错信息

running!!!
Traceback (most recent call last):
  File "G:\Drives compartilhados\SEG FIS\API\TELEGRAM BOT TEST\bot_test.py", line 151, in <module>
    app.run()
  File "C:\Users\roberto.lins\AppData\Roaming\Python\Python39\site-packages\pyrogram\methods\utilities\run.py", line 84, in run
    self.start()
    return loop.run_until_complete(coroutine)
  File "C:\Program Files\Python39\lib\asyncio\base_events.py", line 642, in run_until_complete
    return future.result()
  File "C:\Users\roberto.lins\AppData\Roaming\Python\Python39\site-packages\pyrogram\methods\utilities\start.py", line 58, in start
    is_authorized = await self.connect()
  File "C:\Users\roberto.lins\AppData\Roaming\Python\Python39\site-packages\pyrogram\methods\auth\connect.py", line 40, in connect
    await self.load_session()
  File "C:\Users\roberto.lins\AppData\Roaming\Python\Python39\site-packages\pyrogram\client.py", line 586, in load_session
    await Auth(
  File "C:\Users\roberto.lins\AppData\Roaming\Python\Python39\site-packages\pyrogram\session\auth.py", line 254, in create
    raise e
  File "C:\Users\roberto.lins\AppData\Roaming\Python\Python39\site-packages\pyrogram\session\auth.py", line 89, in create
    res_pq = await self.invoke(raw.functions.ReqPqMulti(nonce=nonce))
  File "C:\Users\roberto.lins\AppData\Roaming\Python\Python39\site-packages\pyrogram\session\auth.py", line 67, in invoke
    return self.unpack(response)
  File "C:\Users\roberto.lins\AppData\Roaming\Python\Python39\site-packages\pyrogram\session\auth.py", line 60, in unpack
    return TLObject.read(b)
  File "C:\Users\roberto.lins\AppData\Roaming\Python\Python39\site-packages\pyrogram\raw\core\tl_object.py", line 33, in read
    return cast(TLObject, objects[int.from_bytes(b.read(4), "little")]).read(b, *args)
KeyError: 0

解决方法

  • 检查网络连接:确保网络能正常访问Telegram服务器,若在受限网络环境下,需配置正确的代理(可在Client初始化时通过proxy参数设置)
  • 删除旧会话文件:找到Bot运行目录下的SegBot.session文件并删除,重新启动Bot
  • 验证API信息:确认API ID、API Hash、Bot Token完全正确,无拼写错误或多余字符
  • 更新Pyrogram:执行pip install --upgrade pyrogram更新到最新稳定版,修复已知bug
  • 检查防火墙/杀毒软件:确认它们未拦截Python程序的网络请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:45:59