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

Discord.py+Wavelink音乐Bot报错:'list'对象无'encoded'属性

解决Discord音乐Bot的AttributeError: 'list' object has no attribute 'encoded'错误

执行Discord音乐Bot的/play cool tunes命令时,控制台抛出如下错误:

AttributeError: 'list' object has no attribute 'encoded'

追踪代码发现问题出在wavelink的player.py中——调用track.encoded()时传入的track是列表类型,而非预期的单个轨道对象。

修复步骤:

  • 检查/play命令的轨道搜索逻辑:确认搜索音乐后,是否正确提取了单个轨道对象。比如wavelink的搜索接口通常返回轨道列表,需取第一个结果(或让用户选择后获取对应轨道),而非直接将整个列表传入播放方法。
  • 调整player.py中的播放调用代码:如果暂时无法修改命令的搜索逻辑,可在调用encoded()前增加类型判断,处理列表情况:
# 原代码
await self.node.play(self, track.encoded())

# 修改后的代码
if isinstance(track, list) and track:
    track = track[0]
await self.node.play(self, track.encoded())
  • 验证修复效果:重启Bot后执行/play cool tunes命令,确认错误消失,音乐正常播放。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 00:02:32