Bot不会断开与VC的连接,但不会引发任何错误[Discord.py]

时间:2020-10-28 09:51:47

标签: python discord.py

当有人运行断开连接命令时,我的机器人应从语音通道断开连接。

我的机器人没有从语音通道断开连接

但是它也不会引发任何错误

我的代码:

@client.command()
async def disconnect(ctx):
    vc = ctx.voice_client

    if not vc:
        await ctx.send("I am not in a voice channel.")
        return

    await vc.disconnect()
    await ctx.send("I have left the voice channel!")

此代码是另一个StackeOverflow用户向我显示的代码,但是它不起作用。

当语音通道中没有人时,它会发送vc消息(如果没有),因此显然已经找到了该通道

当某人进入vc时,它发送:“我已经离开语音通道!”消息,但它从未真正消失过

有人知道为什么它不起作用以及我该如何解决。

谢谢!

1 个答案:

答案 0 :(得分:0)

当漫游器连接到该语音通道时,您需要保存语音通道的voice_client,因此,如果没有漫游器,则无法断开它的连接。

在您使用channel.connect()的代码中查找,这将返回您需要在断开连接时使用它的voice_client。

当您想使用ctx时,您错了,它用于谁编写了命令而不是bot。