from discord.ext import commands

class Info():
    def __init__(self, bot):
        self.bot = bot

    @commands.group(pass_context=True)
    async def info(self, ctx):
        if ctx.invoked_subcommand is None:
            msg = "Bot created by ZonMachi.\nDeveloped using the discord.py library."
            msg += "\nCurrently connected to {} servers.".format(str(len(self.bot.servers)))
            await self.bot.say(msg)

    @info.command(name='channel', pass_context=True)
    async def _channel(self, ctx):
        if ctx.message.channel.is_private:
            msg = "```Channel ID: {}```".format(ctx.message.channel.id)
        else:
            msg = "```Channel Name: {}\nChannel ID: {}".format(ctx.message.channel.name, ctx.message.channel.id)
            msg += "\nServer Name: {}\nServer ID: {}```".format(ctx.message.server.name, ctx.message.server.id)
        await self.bot.say(msg)

def setup(bot):
    bot.add_cog(Info(bot))
@@ -669,21 +669,16 @@
 %60Channel
- Name
 : %7B%7D%5CnCh
@@ -780,13 +780,8 @@
 rver
- Name
 : %7B%7D
@@ -888,16 +888,475 @@
 y(msg)%0A%0A
+    @info.command(name='server', pass_context=True)%0A    async def _server(self, ctx):%0A        try:%0A            s = ctx.message.server%0A            msg = %22Server: %7B%7D%5CnID: %7B%7D%5CnOwner: %7B%7D%5CnRegion: %7B%7D%5CnMembers: %7B%7D%5CnIcon: %7B%7D%22.format(s.name, s.id,%0A                s.owner.name, s.region, str(len(s.members)), s.icon_url)%0A            await self.bot.say(msg)%0A        except AttributeError:%0A            await self.bot.say(%22Command cannot be used in private channels.%22)%0A%0A
 def setu

add info server command