Дискорд бот может заходить в голосовые каналы, но не издаёт звуки (discord.py)
Пишу бота для своего сервера и решил добавить туда систему музыки. Т.к youtube-dl заблокировали я решил пользоваться wavelink. Я не сильно разбираюсь в этом и по этому мог совершить ошибки в коде, но всё же к теме. В консоли ошибок нет, бот при вводе команды play видит запрос и может заходить в голосовой канал, но ничего не включает и в общем возле него не появляется зелёный круг. Помогите пожалуйста.
import discord
import wavelink
from discord.ext import commands
class Bot(commands.Bot):
def __init__(self) -> None:
intents = discord.Intents(messages=True, guilds=True, reactions=True, members=True, presences=True)
intents.message_content = True
super().__init__(intents=intents, command_prefix='!')
async def on_ready(self) -> None:
print(f'Logged in {self.user} | {self.user.id}')
async def setup_hook(self) -> None:
# Wavelink 2.0 has made connecting Nodes easier... Simply create each Node
# and pass it to NodePool.connect with the client/bot.
node: wavelink.Node = wavelink.Node(uri='https://lava1.horizxon.tech:443', password='horizxon.tech', secure=True)
await wavelink.NodePool.connect(client=self, nodes=[node])
bot = Bot()
levels = {}
@bot.command()
async def play(ctx: commands.Context, *, search: str) -> None:
"""Простая команда воспроизведения."""
if not ctx.voice_client:
vc: wavelink.Player = await ctx.author.voice.channel.connect(cls=wavelink.Player)
else:
vc: wavelink.Player = ctx.voice_client
tracks = await wavelink.YouTubeTrack.search(search)
if not tracks:
await ctx.send(f'Сори броу, я не нашёл этого трека: `{search}`')
return
track = tracks[0]
await vc.play(track)
await ctx.send(f"Сейчас играет: ***{track}***")
@bot.command()
async def stop(ctx: commands.Context) -> None:
"""Simple disconnect command.
This command assumes there is a currently connected Player.
"""
vc: wavelink.Player = ctx.voice_client
await vc.disconnect()
await ctx.send(f"стоп")