# Buggy code
async def _youtube_first_time_query(
    self,
    ctx: commands.Context,
    track_info: str,
    current_cache_level: CacheLevel = CacheLevel.none(),
) -> str:
    track_url = await self.youtube_api.get_call(track_info)
    if CacheLevel.set_youtube().is_subset(current_cache_level) and track_url:
        time_now = str(datetime.datetime.now(datetime.timezone.utc))
        task = (
            "insert",
            (
                "youtube",
                [
                    {
                        "track_info": track_info,
                        "track_url": track_url,
                        "last_updated": time_now,
                        "last_fetched": time_now,
                    }
                ],
            ),
        )
        self.append_task(ctx, *task)
    return track_url


# Traceback (RuntimeError)
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.```

# Fixed code
async def _youtube_first_time_query(
    self,
    ctx: commands.Context,
    track_info: str,
    current_cache_level: CacheLevel = CacheLevel.none(),
) -> str:
    track_url = await self.youtube_api.get_call(track_info)
    if CacheLevel.set_youtube().is_subset(current_cache_level) and track_url:
        time_now = int(datetime.datetime.now(datetime.timezone.utc).timestamp())
        task = (
            "insert",
            (
                "youtube",
                [
                    {
                        "track_info": track_info,
                        "track_url": track_url,
                        "last_updated": time_now,
                        "last_fetched": time_now,
                    }
                ],
            ),
        )
        self.append_task(ctx, *task)
    return track_url