]> jfr.im git - erebus.git/blobdiff - bot.py
use tuple for formatting
[erebus.git] / bot.py
diff --git a/bot.py b/bot.py
index 0e6e9263d7b072ae372156346349c4f21195b092..610c6cda694cd7d8d9eaae0ed4c3ff080240ceb1 100644 (file)
--- a/bot.py
+++ b/bot.py
@@ -1,4 +1,5 @@
 #!/usr/bin/python
+# vim: fileencoding=utf-8
 
 # Erebus IRC bot - Author: John Runyon
 # "Bot" and "BotConnection" classes (handling a specific "arm")
@@ -185,7 +186,7 @@ class Bot(object):
                                self.msg(nick, "I tried, but you're not authed!")
        def _got433(self, pieces):
                if not self.conn.registered(): #we're trying to connect
-                       newnick = "%s%d" % (self.nick, random.randint(111,999))
+                       newnick = "%s%d" % (self.nick, random.randint(111, 999))
                        self.conn.send("NICK %s" % (newnick))
                        self.nick = newnick
        def _gotjoin(self, pieces):
@@ -269,10 +270,6 @@ class Bot(object):
                if len(msg) == 0:
                        return
 
-               triggerused = msg.startswith(self.parent.trigger)
-               if triggerused: msg = msg[len(self.parent.trigger):]
-               pieces = msg.split()
-
                if target == self.nick:
                        if msg.startswith("\001"): #ctcp
                                msg = msg.strip("\001")
@@ -280,6 +277,10 @@ class Bot(object):
                                        self.msg(user, "\001VERSION Erebus v%d.%d - http://github.com/zonidjan/erebus" % (self.parent.APIVERSION, self.parent.RELEASE))
                                return
 
+               triggerused = msg.startswith(self.parent.trigger)
+               if triggerused: msg = msg[len(self.parent.trigger):]
+               pieces = msg.split()
+
                if target != self.nick: # message was sent to a channel
                        try:
                                if msg.startswith('*'): # message may be addressed to bot by "*BOTNICK" trigger?
@@ -290,6 +291,9 @@ class Bot(object):
                        except IndexError:
                                return # "message" is empty
 
+               if len(pieces) == 0:
+                       return
+
                if len(pieces) > 1:
                        chanword = pieces[1]
                        if chanword.startswith('#'):
@@ -323,6 +327,8 @@ class Bot(object):
                                        rancmd = True
                                        try:
                                                cbret = callback(self, user, chan, target, *pieces[1:])
+                                               if cbret is NotImplemented:
+                                                       raise NotImplementedError
                                        except NotImplementedError:
                                                self.msg(user, "Command not implemented.")
                                        except Exception: