пайтон намертво зависает при попытках последовательного проигрывания музыки через discord.py

Мой бот проигрывает музыку после команды "играй х(порядковый номер песни)" Это работает. Но когда я пытался сделать так, чтобы он проигрывал несколько песен подряд с помощью той же команды, но указывая несколько песен он зависает примерно через минуту после начала проигрывания первой песни. В чём проблема?

Вот кусок кода

for i in range(len(a)-2):
vc.pause()                 vc.play(discord.FFmpegPCMAudio(executable="C:/FFmpeg/bin/ffmpeg.exe",source=music[int(a[i+1])-1]))
vc.source = discord.PCMVolumeTransformer(vc.source)
vc.source.volume = vm
while vc.is_playing():
    time.sleep(1)

Ответы (1 шт):

Автор решения: RAINGM

Гайд по установке wavelink для discord.py

  1. В консоли прописать pip install wavelink

  2. Переходим на wavelink discord server https://discord.com/invite/RAKc3HF и скачиваем то, что указано на скриншоте. введите сюда описание изображения

  3. Запускает файл wavelinked.exe, ждём загрузки файлов, они будут загружены в ту категорию, где сейчас находится исполняемый exe файл, заходим в неё.

  4. Копируем файлы в папку с ботом. Скоро они нам пригодятся(application.yml, Lavalink.jar). Папку lavalink можно удалить.

  5. Создаём новый ког для музыки.

  6. Копируем код с гитхаба https://github.com/PythonistaGuild/Wavelink/blob/master/examples/advanced.py и вставляем его в новосозданный ког.

  7. Заходим в файл application.yml, редактируем поля port и address. Вместо порта указываем любой открытый порт на пк, если же запуск происходит с удалённого сервера, то соответственно указываем порт удалённого сервера. С адресом точно так же, 127.0.0.1 это локальный сервер. Пароль менять на усмотрение, но я настоятельно рекомендую это сделать.

введите сюда описание изображения

  1. Установим java для запуска lavalink сервера. Для этого перейдём на сайт https://www.oracle.com/java/technologies/javase-jdk16-downloads.html

введите сюда описание изображения

введите сюда описание изображения

Делаем всё как на скриншотах, скачиваем, а затем устанавливаем java. P.S. Чтобы проверить, установилась java или нет пропишем в консоли java -version.

  1. Создадим батник для запуска lavalink. Создаём текстовый документ, переименовываем его в node.bat, изменяем и пишем:
@echo off
title Lavalink
java -jar Lavalink.jar
  1. Заходим в новый ког, куда мы скопировали код из github, и изменяем данные в классе Music словаря nodes. host, port, rest_uri, password. Эти данные мы указывали ранее в файле application.yml.

введите сюда описание изображения

  1. Запускаем новосозданный батник, подключаем ког к боту, запускаем бота.

  2. Вот и всё, после всех этих манипуляций музыка в боте должна заработать.

→ Ссылка