Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Audio] Friendly handle when Lavalink node is not ready instead of crash #3238

Closed
PredaaA opened this issue Dec 30, 2019 · 1 comment
Closed

[Audio] Friendly handle when Lavalink node is not ready instead of crash #3238

PredaaA opened this issue Dec 30, 2019 · 1 comment
Labels
Type: Bug

Comments

@PredaaA
Copy link
Member

@PredaaA PredaaA commented Dec 30, 2019

Command bugs

Command name

play, and all other Audio commands interacting with the lavalink node.

What cog is this command from?

audio

What were you expecting to happen?

Friendly error like "Can't play tracks at the moment because Lavalink node is not ready." instead of just crashing.

What actually happened?

Traceback (most recent call last):
  File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 79, in wrapped
    ret = await coro(*args, **kwargs)
  File "/home/martinebots/martinebotscogs/cogs_modified/audio/audio.py", line 3183, in play
    await self._enqueue_tracks(ctx, query)
  File "/home/martinebots/martinebotscogs/cogs_modified/audio/audio.py", line 3885, in _enqueue_tracks
    result, called_api = await self.music_cache.lavalink_query(ctx, player, query)
  File "/home/martinebots/martinebotscogs/cogs_modified/audio/apis.py", line 911, in lavalink_query
    results = await player.load_tracks(query)
  File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/lavalink/rest_api.py", line 300, in load_tracks
    self.__check_node_ready()
  File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/lavalink/rest_api.py", line 268, in __check_node_ready
    raise RuntimeError("Cannot execute REST request when node not ready.")
RuntimeError: Cannot execute REST request when node not ready.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/bot.py", line 863, in invoke
    await ctx.command.invoke(ctx)
  File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 728, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 88, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: RuntimeError: Cannot execute REST request when node not ready.```
@PredaaA PredaaA added the Type: Bug label Dec 30, 2019
@Drapersniper
Copy link
Contributor

@Drapersniper Drapersniper commented Dec 30, 2019

Cheers I'll handle this by raising a user friendly message whenever that RuntimeError is raised by RLL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug
Projects
None yet
Development

No branches or pull requests

2 participants