async def METHOD_NAME(self, ctx, *, user: discord.Member = None):
    """Displays a user profile."""
    if user is None:
        user = ctx.message.author
    if user.bot:
        ctx.command.reset_cooldown(ctx)
        await ctx.send_help()
        return
    channel = ctx.message.channel
    server = user.guild
    # creates user if doesn't exist
    await self._create_user(user, server)
    userinfo = await self.db.users.find_one({"user_id": str(user.id)})
    if await self.config.guild(ctx.guild).text_only():
        em = await self.profile_text(user, server, userinfo)
        await channel.send(embed=em)
    else:
        async with ctx.channel.typing():
            METHOD_NAME = await self.draw_profile(user, server)
            file = discord.File(METHOD_NAME, filename="profile.png")
            await channel.send(
                "User profile for {}".format(user.mention),
                file=file,
                allowed_mentions=discord.AllowedMentions(users=await self.config.mention()),
            )
        METHOD_NAME.close()