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

如何修复使用Pyrogram时出现的a coroutine was expected报错?

错误原因

loop.create_task()要求传入协程对象,你当前版本的Pyrogram中app.start()调用后直接返回Client实例对象,并非协程对象,因此触发类型错误。

修复方案

方案1:使用Pyrogram自带运行入口(推荐)

Pyrogram内置了run()方法自动管理事件循环的完整生命周期,无需手动维护事件循环,代码可简化为:

from pyrogram import Client

app = Client(
    "aaaaa",
    bot_token="token",
    api_id=12,
    api_hash="a"
)

app.run()

方案2:手动管理事件循环

如果你需要自定义事件循环逻辑,将启动逻辑封装为异步函数,通过asyncio.run执行即可:

import asyncio
from pyrogram import Client

async def main():
    app = Client(
        "aaaaa",
        bot_token="token",
        api_id=12,
        api_hash="a"
    )
    # 异步等待客户端启动完成
    await app.start()
    # 按需添加其他业务逻辑,此处用永久等待保持客户端运行
    await asyncio.Event().wait()

if __name__ == "__main__":
    asyncio.run(main())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:54:04