# Buggy code
async def command_not_found(self, ctx, help_for):
    """
    Sends an error, fuzzy help, or stays quiet based on settings
    """
    coms = [c async for c in self.help_filter_func(ctx, ctx.bot.walk_commands())]
    fuzzy_commands = await fuzzy_command_search(
        ctx, help_for, commands=coms, min_score=75
    )
    use_embeds = await ctx.embed_requested()
    if fuzzy_commands:
        ret = await format_fuzzy_results(ctx, fuzzy_commands, embed=use_embeds)
        if use_embeds:
            ret.set_author(
                name=f"{ctx.me.display_name} Help Menu", icon_url=ctx.me.avatar_url
            )
            tagline = (await ctx.bot.db.help.tagline()) or self.get_default_tagline(ctx)
            ret.set_footer(text=tagline)
            await ctx.send(embed=ret)
        else:
            await ctx.send(ret)
    elif self.CONFIRM_UNAVAILABLE_COMMAND_EXISTENCES:
        ret = T_("Command *{command_name}* not found.").format(command_name=help_for)
        if use_embeds:
            ret = discord.Embed(color=(await ctx.embed_color()), description=ret)
            ret.set_author(
                name=f"{ctx.me.display_name} Help Menu", icon_url=ctx.me.avatar_url
            )
            tagline = (await ctx.bot.db.help.tagline()) or self.get_default_tagline(ctx)
            ret.set_footer(text=tagline)
            await ctx.send(embed=ret)
        else:
            await ctx.send(ret)


# Traceback (discord.errors.Forbidden)
019-05-15 16:23:44] [ERROR] red: Exception in command 'help'
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/discord/ext/commands/core.py", line 63, in wrapped
ret = await coro(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/redbot/core/commands/help.py", line 513, in red_help
await ctx.bot.send_help_for(ctx, thing_to_get_help_for)
File "/usr/local/lib/python3.7/site-packages/redbot/core/bot.py", line 132, in send_help_for
return await self._help_formatter.send_help(ctx, help_for)
File "/usr/local/lib/python3.7/site-packages/redbot/core/commands/help.py", line 95, in send_help
await self.format_bot_help(ctx)
File "/usr/local/lib/python3.7/site-packages/redbot/core/commands/help.py", line 394, in format_bot_help
await self.send_pages(ctx, pages, embed=False)
File "/usr/local/lib/python3.7/site-packages/redbot/core/commands/help.py", line 500, in send_pages
await destination.send(page)
File "/usr/local/lib/python3.7/site-packages/discord/abc.py", line 776, in send
data = await state.http.send_message(channel.id, content, tts=tts, embed=embed, nonce=nonce)
File "/usr/local/lib/python3.7/site-packages/discord/http.py", line 218, in request
raise Forbidden(r, data)
discord.errors.Forbidden: FORBIDDEN (status code: 403): Cannot send messages to this user

# Fixed code
async def command_not_found(self, ctx, help_for):
    """
    Sends an error, fuzzy help, or stays quiet based on settings
    """
    coms = [c async for c in self.help_filter_func(ctx, ctx.bot.walk_commands())]
    fuzzy_commands = await fuzzy_command_search(
        ctx, help_for, commands=coms, min_score=75
    )
    use_embeds = await ctx.embed_requested()
    if fuzzy_commands:
        ret = await format_fuzzy_results(ctx, fuzzy_commands, embed=use_embeds)
        if use_embeds:
            ret.set_author(
                name=f"{ctx.me.display_name} Help Menu", icon_url=ctx.me.avatar_url
            )
            tagline = (await ctx.bot.db.help.tagline()) or self.get_default_tagline(ctx)
            ret.set_footer(text=tagline)
            await ctx.send(embed=ret)
        else:
            await ctx.send(ret)
    elif await ctx.bot.db.help.verify_exists():
        ret = T_("Help topic for *{command_name}* not found.").format(
            command_name=help_for
        )
        if use_embeds:
            ret = discord.Embed(color=(await ctx.embed_color()), description=ret)
            ret.set_author(
                name=f"{ctx.me.display_name} Help Menu", icon_url=ctx.me.avatar_url
            )
            tagline = (await ctx.bot.db.help.tagline()) or self.get_default_tagline(ctx)
            ret.set_footer(text=tagline)
            await ctx.send(embed=ret)
        else:
            await ctx.send(ret)