async def METHOD_NAME(self, ctx, *, user: discord.Member = None):
    """Gives more specific details about user profile image."""
    if not user:
        user = ctx.author
    if user.bot:
        await ctx.send_help()
        return
    server = ctx.guild
    userinfo = await self.db.users.find_one({"user_id": str(user.id)})
    # creates user if doesn't exist
    await self._create_user(user, server)
    total_server_exp = 0
    for i in range(userinfo["servers"][str(server.id)]["level"]):
        total_server_exp += await self._required_exp(i)
    total_server_exp += userinfo["servers"][str(server.id)]["current_exp"]
    data = {
        "Name": user.name,
        "Title": userinfo["title"],
        "Reps": userinfo["rep"],
        "Server level": userinfo["servers"][str(server.id)]["level"],
        "Server XP": total_server_exp,
        "Total XP": userinfo["total_exp"],
        "Shared servers data": len(userinfo["servers"]),
        "Info": userinfo["info"],
        "Profile background": userinfo["profile_background"],
        "Rank background": userinfo["rank_background"],
        "Levelup background": userinfo["levelup_background"],
        "Badges": "\n".join(userinfo["badges"]),
    }
    for k, v in userinfo.items():
        if ("color" in k) and v:
            data[k.capitalize().replace("_", " ")] = discord.Color.from_rgb(*v[:3])
    em = discord.Embed(description=chat.box(tabulate(data.items())), colour=user.colour)
    em.set_author(
        name="Profile Information for {}".format(user.name),
        icon_url=user.avatar_url,
    )
    await ctx.send(embed=em)