使用Discord.py Cogs拆分命令遇RuntimeWarning:协程setup未被等待
问题解决:Discord.py Cogs加载时RuntimeWarning错误
错误原因
Discord.py 2.0及后续版本中,bot.load_extension()方法已改为异步函数,必须使用await关键字调用。你当前的代码直接调用该方法未加await,导致扩展内的setup协程无法被正确执行,从而触发警告。
修正步骤
- 修改Main.py中的
on_ready函数,在bot.load_extension前添加await:
async def on_ready(): print(f"{bot.user.name} is Online!") change_status.start() await bot.load_extension("cogs.help")
- 确认文件匹配:确保你加载的
cogs.help对应Cogs目录下的help.py文件(即你提供的Cogs代码所在文件名为help.py),避免因文件名不匹配导致其他问题。
额外说明
你的Cogs代码中的setup函数写法是正确的,Discord.py会在加载扩展时自动处理该异步函数的await操作,无需修改这部分代码。
内容的提问来源于stack exchange,提问作者Fraser
相关产品推荐
相关产品推荐

