跟随YouTube教程制作Discord音乐Bot遇协程错误,求修复
Discord音乐Bot报错:coroutine 'BotBase.add_cog' was never awaited
错误原因
你遇到的这个警告,核心原因是Discord.py版本差异:你使用的是Discord.py v2.0+版本,而参考的教程基于v1.x旧版本。在v2.0的更新中,BotBase.add_cog方法从同步函数改成了异步协程,必须通过await关键字调用,直接同步调用就会触发这个"协程未被等待"的警告。
修复步骤
- 修正setup函数的异步调用
把你的setup函数改成异步函数,并给add_cog加上await:
async def setup(client): await client.add_cog(music(client))
- 检查Bot启动时的cog加载方式
如果你的Bot启动代码是手动加载cog(而非使用load_extension),同样要确保用异步方式调用:
# 错误写法 # bot.add_cog(music(bot)) # 正确写法 await bot.add_cog(music(bot))
额外代码修正
你的play命令里还有个拼写错误,downlad应该改成download,否则会导致音频提取失败:
info = ydl.extract_info(url, download=False) # 修正拼写错误
内容的提问来源于stack exchange,提问作者Bailey Page
相关产品推荐
相关产品推荐

