# Buggy code
async def _autoplay_toggle(self, ctx: commands.Context):
    """Toggle auto-play when there no songs in queue."""
    autoplay = await self.config.guild(ctx.guild).auto_play()
    repeat = await self.config.guild(ctx.guild).repeat()
    disconnect = await self.config.guild(ctx.guild).disconnect()
    msg = _("Auto-play when queue ends: {true_or_false}.").format(
        true_or_false=_("Enabled") if not autoplay else _("Disabled")
    )
    await self.config.guild(ctx.guild).auto_play.set(not autoplay)
    if autoplay is not True and repeat is True:
        msg += _("\nRepeat has been disabled.")
        await self.config.guild(ctx.guild).repeat.set(False)
    if autoplay is not True and disconnect is True:
        msg += _("\nAuto-disconnecting at queue end has been disabled.")
        await self.config.guild(ctx.guild).disconnect.set(False)

    embed = discord.Embed(
        title=_("Auto-play settings changed"),
        description=msg,
        colour=await ctx.embed_colour(),
    )
    await ctx.send(embed=embed)
    if self._player_check(ctx):
        await self._data_check(ctx)


# 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 _autoplay_toggle(self, ctx: commands.Context):
    """Toggle auto-play when there no songs in queue."""
    autoplay = await self.config.guild(ctx.guild).auto_play()
    repeat = await self.config.guild(ctx.guild).repeat()
    disconnect = await self.config.guild(ctx.guild).disconnect()
    msg = _("Auto-play when queue ends: {true_or_false}.").format(
        true_or_false=_("Enabled") if not autoplay else _("Disabled")
    )
    await self.config.guild(ctx.guild).auto_play.set(not autoplay)
    if autoplay is not True and repeat is True:
        msg += _("\nRepeat has been disabled.")
        await self.config.guild(ctx.guild).repeat.set(False)
    if autoplay is not True and disconnect is True:
        msg += _("\nAuto-disconnecting at queue end has been disabled.")
        await self.config.guild(ctx.guild).disconnect.set(False)

    await self._embed_msg(ctx, title=_("Setting Changed"), description=msg)
    if self._player_check(ctx):
        await self._data_check(ctx)