'Discord Music Bot
I am creating a discord bot that plays music. It successfully joins a channel but then returns an error when searching for music. This is my code:
@client.command(pass_context=True)
async def play(ctx, url):
server = ctx.message.server
await client.join_voice_channel(ctx.message.author.voice.voice_channel)
voice_client = client.voice_client_in(server)
player = await voice_client.create_ytdl_player(url)
players[server.id] = player
player.start()
Which returns this error:
[youtube] vRquPxdHNGE: Downloading webpage
[youtube] vRquPxdHNGE: Downloading video info webpage
Ignoring exception in command play
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-
packages\discord\voice_client.py", line 431, in create_ffmpeg_player
p = subprocess.Popen(args, stdin=stdin, stdout=subprocess.PIPE,
stderr=stderr)
File
"C:\Users\user\AppData\Local\Programs\Python\Python36\lib\subprocess.py",
line 709, in __init__
restore_signals, start_new_session)
File
"C:\Users\user\AppData\Local\Programs\Python\Python36\lib\subprocess.py",
line 997, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-
packages\discord\ext\commands\core.py", line 50, in wrapped
ret = yield from coro(*args, **kwargs)
File "F:\.Computer Science\Python\bot.py", line 49, in play
player = await voice_client.create_ytdl_player(url)
File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-
packages\discord\voice_client.py", line 541, in create_ytdl_player
player = self.create_ffmpeg_player(download_url, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-
packages\discord\voice_client.py", line 434, in create_ffmpeg_player
raise ClientException('ffmpeg/avconv was not found in your PATH
environment variable') from e
discord.errors.ClientException: ffmpeg/avconv was not found in your PATH
environment variable
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-
packages\discord\ext\commands\bot.py", line 846, in process_commands
yield from command.invoke(ctx)
File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-
packages\discord\ext\commands\core.py", line 374, in invoke
yield from injected(*ctx.args, **ctx.kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-
packages\discord\ext\commands\core.py", line 54, in wrapped
raise CommandInvokeError(e) from e
discord.ext.commands.errors.CommandInvokeError: Command raised an exception:
ClientException: ffmpeg/avconv was not found in your PATH environment
variable
Does anyone have any idea why it does this or how I could fix it? I am using Python 3.6.7 and the latest Discord module.
Solution 1:[1]
Maybe your solution can be here and if you are using virtualenv check that your PATH exists there too.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | F. Tamás |