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

运行代码提示'Context' object has no attribute 'voice'错误如何解决?

问题原因

这个是discord.py版本迭代导致的属性迁移问题:

  • 你看的YouTube教程用的是discord.py v1.x版本,该版本里Context对象确实包含voice属性
  • 你当前安装的是discord.py v2.0及以上版本,官方已经将Context.voice属性移除,语音客户端实例需要从服务器对象中获取

解决方法

方法1:适配v2.x版本(推荐)

把你第74-76行代码里所有调用ctx.voice的地方,替换为ctx.guild.voice_client即可。

方法2:降级到和教程匹配的版本

如果不想修改代码,直接运行以下命令安装v1.7.3版本即可:
pip install discord.py==1.7.3
注意:discord.py v1.x已经停止官方维护,长期使用更建议适配v2.x的语法规则。

额外排查项

如果修改后依然有相关报错,检查两个配置:

  • Discord开发者后台的Bot设置页,已开启Privileged Gateway Intents分类下的Voice States Intent
  • 代码初始化Bot实例时,已传入intents.voice_states = True参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:06:01