Я решил попробовать заставить своего дискорд-бота играть музыку, но я уже застрял. В основном из-за того, что я не могу найти никаких источников, которые могли бы помочь с текущей версией, я брал все из документации. Однако я не могу понять, как проверить, подключен ли бот к голосовому каналу.
Я пробовал 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, но я многого не понимаю
На самом деле все, что имеет значение здесь, это команда воспроизведения, но я включил остальные только потому, что (как вы можете видеть из моих комментариев) я не понимаю МНОГИЕ из того, что происходит. Как мне это сделать? Есть ли хорошие исходники для текущей версии? Заранее спасибо.