]> jfr.im git - erebus.git/blobdiff - modules/channel_admin.py
urls - allow port in url
[erebus.git] / modules / channel_admin.py
index c0d5dc8e211b40c9984024f3008e216740177bda..1e18d0e417b1c70a60ae211dd81114d5fd7b0f96 100644 (file)
@@ -1,6 +1,6 @@
 # Erebus IRC bot - Author: Erebus Team
 # vim: fileencoding=utf-8
-# simple module example
+# Channel-access management
 # This file is released into the public domain; see http://unlicense.org/
 
 # module info
@@ -28,7 +28,7 @@ modstop = lib.modstop
 @lib.hook(clevel=lib.FRIEND)
 @lib.help(None, "rejoin a channel (if the bot has been kicked)")
 def rejoin(bot, user, chan, realtarget, *args):
-       bot.join(str(chan))
+       chan.bot.join(str(chan))
        bot.msg(user, "Rejoined %s." % (chan))
 
 
@@ -75,8 +75,10 @@ def clevel(bot, user, chan, realtarget, *args):
                if user_clevel <= level:
                        return "I'm afraid I can't let you do that. Your current access level is not higher than you are trying to set."
 
-       chan.setlevel(target.auth, level)
-       return "Set #%s channel level to %s" % (target.auth, args[1])
+       if chan.setlevel(target.auth, level):
+               return "Set #%s channel level to %s" % (target.auth, args[1])
+       else:
+               return "An error occurred!"
 
 
 @lib.hook(('forceclevel','fclevel'), glevel=lib.MANAGER)
@@ -85,5 +87,7 @@ def clevel(bot, user, chan, realtarget, *args):
 def forceclevel(bot, user, chan, realtarget, *args):
        target = user.auth
        level = _resolve_level(args[0])
-       chan.setlevel(target, level)
-       return 'Your level on %s has been set to %d' % (chan, level)
+       if chan.setlevel(target, level):
+               return 'Your level on %s has been set to %d' % (chan, level)
+       else:
+               return "An error occurred!"