Tells you information about the bot itself.

        This is more information about the bot, not really
        sure when this comes into play tbh, thats what I am
        testing right now.

async def about(self):
        """Tells you information about the bot itself.

        This is more information about the bot, not really
        sure when this comes into play tbh, thats what I am
        testing right now.
        """

        cmd = r'git show -s -3 --format="%s (%cr)"'
        if os.name == 'posix':
            cmd = cmd.format(r'\`%h\`')
        else:
            cmd = cmd.format(r'`%h`')

        embed = discord.Embed()
        embed.colour = Colors.get_default(self.bot)

        embed.add_field(name="About "+self.bot.user.name+":", value=self.bot.description, inline=False)
        
        if os.popen('git rev-list --all --count').close() is None and os.popen('git rev-parse').close() is None:
            revision = os.popen(cmd).read().strip()
            embed.add_field(name="Latest Changes:", value=revision, inline=False)

        try:
            owner = self._owner
        except AttributeError:
            owner = self._owner = await self.bot.get_user_info(self.bot.config.get('meta', {}).get('owner', "249746236008169473"))

        if self.bot.ownerInviteLink:
            embed.title = owner.name+'\'s Server Invite'
            embed.url = self.bot.ownerInviteLink

        embed.set_author(name="Created by "+str(owner), icon_url=owner.avatar_url)

        # statistics
        total_members = sum(len(s.members) for s in self.bot.servers)
        total_online  = sum(1 for m in self.bot.get_all_members() if m.status != discord.Status.offline)
        unique_members = set(self.bot.get_all_members())
        unique_online = sum(1 for m in unique_members if m.status != discord.Status.offline)
        channel_types = Counter(c.type for c in self.bot.get_all_channels())
        voice = channel_types[discord.ChannelType.voice]
        text = channel_types[discord.ChannelType.text]

        members = '%s total\n%s online\n%s unique\n%s unique online' % (total_members, total_online, len(unique_members), unique_online)
        embed.add_field(name='Members', value=members)
        embed.add_field(name='Channels', value='{} total\n{} text\n{} voice'.format(text + voice, text, voice))
        memory_usage = self.process.memory_full_info().uss / 1024**2
        cpu_usage = self.process.cpu_percent() / psutil.cpu_count()
        embed.add_field(name='Process', value='{:.2f} MiB\n{:.2f}% CPU'.format(memory_usage, cpu_usage))
        embed.set_footer(text='Made with discord.py & discordbot.py', icon_url='http://i.imgur.com/5BFecvA.png')
        embed.timestamp = self.bot.uptime

        data = self.config.get('data', {})
        summation = 0
        for server in data:
            summation += sum(data[server].values())

        embed.add_field(name='Servers', value=str(len(self.bot.servers)))
        embed.add_field(name='Commands Run', value=summation)
        embed.add_field(name='Uptime', value=self.get_bot_uptime(brief=True))

        await self.bot.say(embed=embed)