discord.ext.commands.errors.CommandInvokeError: Command raised an exception: ClientException: ffmpeg was not found
Библиотека discord.py. Пишу код для проигрыша музыки из YouTube в голосовой канал.
`@client.command(brief="Plays a video, from a youtube URL")
async def play(ctx, url):
await ctx.message.author.voice.channel.connect(reconnect=True)
YDL_OPTIONS = {'format': 'bestaudio', 'noplaylist':'True'}
FFMPEG_OPTIONS = {'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5', 'options': '-vn'}
voice = get(client.voice_clients, guild=ctx.guild)
print(voice)
with YoutubeDL(YDL_OPTIONS) as ydl:
info = ydl.extract_info(url, download=False)
URL = info['formats'][0]['url']
voice.play(FFmpegPCMAudio(URL, **FFMPEG_OPTIONS))
voice.is_playing()
`
Импорт модуля делал
from discord import FFmpegPCMAudio
Выходит ошибка:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: ClientException: ffmpeg was not found.
Я впервые работаю с чем то подобным, так что могу тупить XD
Ответы (1 шт):
Автор решения: denisnumb
→ Ссылка
FFMPEG - .exe файл, необходимый для запуска звука. Этот экзешник запускается через Discord API.
Скачать его можно здесь. Также можете скачать архив (Загрузка начнется сразу)
В папке должно быть 3 файла: ffmpeg.exe, ffplay.exe, ffprobe.exe.
Запускам с явным указанием исполняемого файла ffmpeg.exe:
voice.play(discord.FFmpegPCMAudio(executable="путь\\к\\файлу\\ffmpeg.exe", source = URL, **FFMPEG_OPTIONS))