Disnake - ошибка при попытке возвести mp3 файл
@bot.command()
async def play(ctx, *, file_name: str):
voice_channel = ctx.message.author.voice.channel
if not voice_channel:
await ctx.send("Вы не находитесь в голосовом канале!")
return
# Подключаемся к голосовому каналу
vc = await voice_channel.connect()
# Получаем аудиофайл из папки 'audio_files'
audio_file = f'audio_files/{file_name}.mp3'
if not os.path.isfile(audio_file):
await ctx.send(f"Файл {file_name}.mp3 не найден.")
return
# Создаем поток аудио
source = disnake.FFmpegPCMAudio(audio_file)
# Начинаем воспроизведение аудио
vc.play(source)
Возникает ошибка.
Ignoring exception in command play:
Traceback (most recent call last):
File "C:\Users\sawag\AppData\Local\Programs\Python\Python38-32\lib\site-packages\disnake\ext\commands\core.py", line 173, in wrapped
ret = await coro(*args, **kwargs)
File "c:/Users/sawag/Desktop/Home Work/prochee/bot_discord/Disnake - bot - Eternyti/main.py", line 96, in play
source = disnake.FFmpegPCMAudio(audio_file)
File "C:\Users\sawag\AppData\Local\Programs\Python\Python38-32\lib\site-packages\disnake\player.py", line 288, in __init__
super().__init__(source, executable=executable, args=args, **subprocess_kwargs)
File "C:\Users\sawag\AppData\Local\Programs\Python\Python38-32\lib\site-packages\disnake\player.py", line 149, in __init__
self._process: subprocess.Popen[bytes] = self._spawn_process(args, **kwargs)
File "C:\Users\sawag\AppData\Local\Programs\Python\Python38-32\lib\site-packages\disnake\player.py", line 167, in _spawn_process
raise ClientException(f"{executable} was not found.") from None
disnake.errors.ClientException: ffmpeg was not found.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\sawag\AppData\Local\Programs\Python\Python38-32\lib\site-packages\disnake\ext\commands\bot_base.py", line 589, in invoke
await ctx.command.invoke(ctx)
File "C:\Users\sawag\AppData\Local\Programs\Python\Python38-32\lib\site-packages\disnake\ext\commands\core.py", line 914, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:\Users\sawag\AppData\Local\Programs\Python\Python38-32\lib\site-packages\disnake\ext\commands\core.py", line 182, in wrapped
raise CommandInvokeError(exc) from exc
disnake.ext.commands.errors.CommandInvokeError: Command raised an exception: ClientException: ffmpeg was not found.
Exception ignored in: <function AudioSource.__del__ at 0x03B6C538>
Traceback (most recent call last):
File "C:\Users\sawag\AppData\Local\Programs\Python\Python38-32\lib\site-packages\disnake\player.py", line 100, in __del__
self.cleanup()
File "C:\Users\sawag\AppData\Local\Programs\Python\Python38-32\lib\site-packages\disnake\player.py", line 221, in cleanup
self._kill_process()
File "C:\Users\sawag\AppData\Local\Programs\Python\Python38-32\lib\site-packages\disnake\player.py", line 172, in _kill_process
proc = self._process
AttributeError: 'FFmpegPCMAudio' object has no attribute '_process'
Источник: Stack Overflow на русском