Wavelink - .get_player всегда принимает значение none
import disnake
from disnake.ext import commands
import wavelink
from disnake import FFmpegPCMAudio
import re
bot = commands.Bot(command_prefix='/', intents=disnake.Intents.all(), help_command=None)
@bot.event
async def on_ready():
node: wavelink.Node = wavelink.Node(uri='lavalink.lexnet.cc:443', password='lexn3tl@val!nk', secure=True)
await wavelink.NodePool.connect(client=bot, nodes=[node])
print(f'{bot.user.name} has connected to Discord!')
@bot.command()
async def playg(ctx: disnake.ApplicationCommandInteraction):
voice_channel = await bot.fetch_channel(1054742915500482563)
vc = await voice_channel.connect()
node = wavelink.NodePool.get_node()
player = node.get_player(ctx.guild.id)
track = await wavelink.YouTubeTrack.search("fdgsdfgddslfsdl;fsdjlk fdslkgjdfkl;gklfdjkgjdfbvlkxvnsdlfds, dslfkjsmd fjs dmjfs", return_first=True)
await player.play(track)
bot.run('')
Не знаю почему, но переменная player
всегда принимает значение None, хотя бот получает правильное id сервера дискорд. Так же пользователь уже находиться в голосовом канале при использовании команды поэтому трек и не проигрывается, по крайней мере я так полагаю.
Источник: Stack Overflow на русском