我决定尝试让我的不和谐机器人播放音乐,但我已经陷入困境了。主要是由于我找不到任何资源来帮助当前版本,所以我一直在参考文档中的所有内容。但是,我不知道如何检查机器人是否连接到语音通道。
我努力了if not Client.is_connected():
,但是这没有用。如果有任何更新的资源可以帮助我了解 discord.py 语音功能的基础知识,请给我一个链接:) 这是迄今为止我的代码:
# ----- ATTEMPT AT VOICE COMMANDS ------
#discord.opus.load_opus() - what goes in bracket???
@client.command(name="join", pass_ctx=True)
async def join(ctx):
#if not is_connected(): - Client.is_connected() not working
user = ctx.message.author
vc = user.voice.channel
await vc.connect()
await ctx.send(f"Joined **{vc}**")
#else:
# await ctx.send("I'm already connected!")
@client.command(name="disconnect", pass_ctx=True)
async def disconnect(ctx):
# if not is_connected(): - once again can't work it out
vc = ctx.message.guild.voice_client # i don't even know how this worked :D
await vc.disconnect()
#else:
# await ctx.send("I'm not connected to any channels")
@client.command(name="play", pass_ctx=True)
async def play(ctx, songurl=None):
if not songurl: # this works at least
await ctx.send("Please specify a song")
return
if not is_connected(): # once again, how to check if bot is connected?
vc = ctx.message.author.voice.channel
if not vc: # i think this should work
await ctx.send("You're not in a voice channel!")
await vc.connect()
# haven't even worked out anything past this point and it's broken
PS:抱歉,我把我的整个 VC 部分都扔掉了,但我不太明白
实际上,这里最重要的是播放命令,但我将其他命令包括在内只是因为(正如您从我的评论中看到的)我不明白发生了很多事情。我该怎么办?当前版本有什么好的资源吗?提前致谢。
一个机器人可以同时连接多个公会的语音,所以你需要获取VoiceClient对于适当的公会Client.voice_clients
然后检查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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)