]> jfr.im git - erebus.git/blobdiff - modules/help.py
bugfixes
[erebus.git] / modules / help.py
index 916c839d4245bcbd0b3d3b34b88186c2221f0819..49c3aa61875d763fd8872ac8fdf00850d8d083fd 100644 (file)
@@ -6,7 +6,7 @@
 modinfo = {
        'author': 'Erebus Team',
        'license': 'public domain',
-       'compatible': [1,2],
+       'compatible': [2],
        'depends': [],
        'softdeps': [],
 }
@@ -76,9 +76,9 @@ class HelpLine(object):
 
        def __str__(self):
                if self.admin:
-                       ret = "%-35s(%3s) - %-10s - " % (self.cmd+' '+self.syntax, self.glevel, self.module)
+                       ret = "%-25s(%3s) - %-10s - " % (self.cmd+' '+self.syntax, self.glevel, self.module)
                else:
-                       ret = "%-40s - " % (self.cmd+' '+self.syntax)
+                       ret = "%-30s - " % (self.cmd+' '+self.syntax)
                if self.clevel != 0:
                        ret += "(%s) " % (lib.clevs[self.clevel])
                ret += str(self.shorthelp)
@@ -99,15 +99,14 @@ def _genhelp(bot, user, chan, realtarget, *args):
        maxlevel = 100
        filepath = bot.parent.cfg.get('help', 'path', default='./help/%d.txt')
        for arg in args:
-               if arg[0] == "@":
+               if arg.startswith("@"):
                        module = arg[1:]
-               elif arg[0] == "#" and user.glevel >= lib.OWNER:
+               elif arg.startswith("#") and user.glevel >= lib.ADMIN:
                        minlevel = maxlevel = int(arg[1:])
                else:
                        filepath = arg
                        if minlevel != maxlevel:
                                minlevel = maxlevel
-       print "%r %r %r %r" % (module, minlevel, maxlevel, filepath)
        for level in range(minlevel, maxlevel+1):
                if '%d' in filepath:
                        filename = filepath % (level)
@@ -125,7 +124,7 @@ def _genhelp(bot, user, chan, realtarget, *args):
        return True
 
 @lib.hook(glevel=1, needchan=False)
-@lib.help(None, "generates help file", "default path: ./help/<level>.txt", "config as: [help]", "path = ./help/%d.txt")
+@lib.help("[@<module>] [#<level>] [file]", "generates help file", "arguments are all optional and may be specified in any order", "default file: ./help/<level>.txt", "config as: [help]", "path = ./help/%d.txt")
 def genhelp(bot, user, chan, realtarget, *args):
        try:
                _genhelp(bot, user, chan, realtarget, *args)
@@ -144,7 +143,6 @@ def help(bot, user, chan, realtarget, *args):
                bot.slowmsg(user, str(HelpLine(func.cmd[0], func.syntax, func.shorthelp, (user.glevel > 0), func.reqglevel, func.module, func.reqclevel)))
                for line in func.longhelps:
                        bot.slowmsg(user, "  %s" % (line))
-               bot.slowmsg(user, "End of help for %s." % (func.cmd[0]))
                if len(func.cmd) > 1:
                        bot.slowmsg(user, "  Aliases: %s" % (' '.join(func.cmd[1:])))
        else:
@@ -182,7 +180,7 @@ def help(bot, user, chan, realtarget, *args):
                for line in sorted(lines):
                        bot.slowmsg(user, str(line))
                bot.slowmsg(user, "End of command listing.")
-       elif args[0][0] == "@":
+       elif args[0].startswith("@"):
                lines = []
                mod = args[0][1:].lower()
                for func in helps.itervalues():