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

Wavelink创建Node报错:AttributeError: NodePool无create_node属性

解决Wavelink中AttributeError: type object 'NodePool' has no attribute 'create_node'错误

错误原因

你使用的Wavelink版本为v4及以上,但代码采用了v3版本的API写法。Wavelink v4对NodePool的API做了重大调整,移除了create_node方法,改用add_node方法来添加节点。

解决方案

修改你的connect_nodes函数和相关代码,适配v4的API:

import discord
from discord.ext import commands
import wavelink

bot = commands.Bot(command_prefix="/", intents=discord.Intents.all())

@bot.event
async def on_ready():
    bot.loop.create_task(connect_nodes())

async def connect_nodes():
    await bot.wait_until_ready()
    # 改用add_node方法,无需传入bot参数
    await wavelink.NodePool.add_node(
        host='0.0.0.0',
        port=2333,
        password="youshallnotpass",
        identifier="main"  # 可选,给节点设置标识
    )

@bot.event
async def on_wavelink_node_ready(node: wavelink.Node):
    # 修正拼写错误:nide → node,移除不必要的转义符
    print(f'node: <{node.identifier}> is ready.')

bot.run('token')

如果你想继续使用原有代码,可以通过pip降级到v3版本:

pip install wavelink==3.0.0

注意:降级后需要确保你的discord.py版本与Wavelink v3兼容(推荐discord.py v2.0+)。

额外检查点

  • 确认你的Lavalink配置文件application.yml中的端口、密码与代码中的参数完全匹配,目前你的配置和代码是一致的,这部分没问题。
  • Lavalink服务已正常启动(你已确认日志显示Lavalink is ready to accept connections),这部分也没问题。
  • 修正代码中on_wavelink_node_ready事件里的拼写错误:nide改为node,避免输出错误信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 03:05:25