当有人运行断开连接命令时,我的机器人应从语音通道断开连接。
我的机器人没有从语音通道断开连接
但是它也不会引发任何错误
我的代码:
@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时,它发送:“我已经离开语音通道!”消息,但它从未真正消失过
有人知道为什么它不起作用以及我该如何解决。
谢谢!
答案 0 :(得分:0)
当漫游器连接到该语音通道时,您需要保存语音通道的voice_client
,因此,如果没有漫游器,则无法断开它的连接。
在您使用channel.connect()
的代码中查找,这将返回您需要在断开连接时使用它的voice_client。
当您想使用ctx时,您错了,它用于谁编写了命令而不是bot。