Node.is_connected() 缺少 1 个必需的位置参数:'self'
Node.is_connected() missing 1 required positional argument: 'self'
我想使用 wavelink 模块(nextcord,Python)创建我的音乐机器人。
一切都很好,但我有 1 个问题。当我创建一个节点时,一段时间后主机可能会崩溃或更改其端口。因此,我创建了一个包含不同主机、端口等的列表,以便在之前的主机无法正常工作时进行连接,为此我需要知道节点是否已连接。我检查了 wavelink 的文档并找到了 wavelink.Node.is_connected() 函数,但是我得到了这个错误:
TypeError: Node.is_connected() missing 1 required positional argument: 'self'
有谁知道如何解决这个问题?这是我的代码:
@client.event
async def on_ready():
print("Bot is online!")
client.loop.create_task(node_connect())
@client.event
async def node_connect():
await client.wait_until_ready()
hosts = ["list"]
values = np.random.choice(hosts)
print(values)
host = values["host"]
port = values["port"]
password = values["password"]
https = values["secure"]
await wavelink.NodePool.create_node(bot = client, host = host, port = port, password = password, https = https)
await wavelink.Node.is_connected()
@client.event
async def on_wavelink_node_ready(node: wavelink.Node):
print(f"Node {node.identifier} is ready!")
X.y() missing 1 required positional argument: self
通常是尝试直接在 class 上调用实例方法而不传入实例的症状。
据推测,create_node
returns 节点,因此您可以在其上调用函数:
node = await wavelink.NodePool.create_node(bot=client, ...)
await node.is_connected()
我想使用 wavelink 模块(nextcord,Python)创建我的音乐机器人。 一切都很好,但我有 1 个问题。当我创建一个节点时,一段时间后主机可能会崩溃或更改其端口。因此,我创建了一个包含不同主机、端口等的列表,以便在之前的主机无法正常工作时进行连接,为此我需要知道节点是否已连接。我检查了 wavelink 的文档并找到了 wavelink.Node.is_connected() 函数,但是我得到了这个错误:
TypeError: Node.is_connected() missing 1 required positional argument: 'self'
有谁知道如何解决这个问题?这是我的代码:
@client.event
async def on_ready():
print("Bot is online!")
client.loop.create_task(node_connect())
@client.event
async def node_connect():
await client.wait_until_ready()
hosts = ["list"]
values = np.random.choice(hosts)
print(values)
host = values["host"]
port = values["port"]
password = values["password"]
https = values["secure"]
await wavelink.NodePool.create_node(bot = client, host = host, port = port, password = password, https = https)
await wavelink.Node.is_connected()
@client.event
async def on_wavelink_node_ready(node: wavelink.Node):
print(f"Node {node.identifier} is ready!")
X.y() missing 1 required positional argument: self
通常是尝试直接在 class 上调用实例方法而不传入实例的症状。
据推测,create_node
returns 节点,因此您可以在其上调用函数:
node = await wavelink.NodePool.create_node(bot=client, ...)
await node.is_connected()