def cmd_help(self, argument):
        """Get help on a command or module"""
        arg = argument.lower()
        index = self.bot.help_index
        target = self.target
        args = arg.split()
        if not args:
            s = "usage: help <command> [public|private] / help module <module>"
            self.send(target, s)
        elif args[0] == 'module':
            args.pop(0)
            if not args:
                self.send(target, "usage: help module <module>")
            else:
                help_item = index['modules'].get(args[0])
                if help_item:
                    self.send(target, help_item['summary'])
                else:
                    self.send(target, _("No help for %s"), args[0])
        else:
            args.append("")
            cmd = args.pop(0)
            cmd_type = args.pop(0)
            if 'pu' in cmd_type or self.target.startswith('#'):
                cmd_type = 'public'
            elif 'pr' in cmd_type or not self.target.startswith('#'):
                cmd_type = 'private'
            else:
                # we shouldn't be here
                self.logger.error("cmd_list")
                return
            help_item = index[cmd_type].get(cmd)
            if help_item:
                self.send(target, index[cmd_type][cmd]['summary'])
            else:
                self.send(target, _("No help for %s"), cmd)