我已经决定尝试让不和谐的机器人播放音乐,但是我已经陷入困境。主要是由于我找不到任何可用于当前版本的资源的事实,所以我一直在关注文档中的所有内容。但是,我不知道如何检查该漫游器是否已连接到语音通道。
我尝试过middle2
,但是没有用。如果有任何更新的资源可以帮助我了解discord.py语音功能的基础知识,请给我一个链接:)这是到目前为止的代码:
if not Client.is_connected():
ps:对不起,我只转储了整个vc部分,但我不太了解
这里真正重要的是播放命令,但是我包括其他命令只是因为(从我的评论中可以看到)我不了解发生了什么。我应该怎么做?当前版本有什么好的资源吗?预先感谢。
答案 0 :(得分:1)
一个机器人可以同时连接到多个公会中的语音,因此您需要从Client.voice_clients
获取VoiceClient
的适当公会,然后检查VoiceClient.is_connected
:>
def is_connected(ctx):
voice_client = get(ctx.bot.voice_clients, guild=ctx.guild)
return voice_client and voice_client.is_connected()
答案 1 :(得分:1)
你也可以
client.command()
async def join(ctx):
user = ctx.message.author
vc = user.voice.channel
voice = discord.utils.get(client.voice_clients, guild=ctx.guild) # This allows for more functionality with voice channels
if voice == None: # None being the default value if the bot isnt in a channel (which is why the is_connected() is returning errors)
await vc.connect()
await ctx.send(f"Joined **{vc}**")
else:
await ctx.send("I'm already connected!")