所以我在 discord.py 中制作了一个机器人,它加入了一个语音频道,并在 3 秒的延迟后与它断开连接,只是为了测试如何让它断开连接。我做了很多研究,但找不到。机器人成功连接但无法断开连接。这是代码-
if message.content == "-p":
channel = message.author.voice.channel
await channel.connect()
time.sleep(3)
await channel.disconnect()
这是我得到的错误-
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\arnha\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "c:\Users\arnha\Desktop\Music bot\bot.py", line 44, in on_message
await channel.disconnect()
AttributeError: 'VoiceChannel' object has no attribute 'disconnect'
请帮助我。
答案 0 :(得分:1)
这很不直观。您必须在作为 disconnect()
属性的 voice_client
上使用 guild
。像这样:
channel = message.author.voice.channel
await channel.connect()
time.sleep(3)
guild = message.guild.voice_client
await guild.disconnect()