]> jfr.im git - erebus.git/commitdiff
fix crash on message consisting of solely the trigger
authorzonidjan <redacted>
Wed, 18 Jul 2018 00:14:31 +0000 (19:14 -0500)
committerzonidjan <redacted>
Wed, 18 Jul 2018 00:14:31 +0000 (19:14 -0500)
bot.py

diff --git a/bot.py b/bot.py
index ed45293998fcb0efde7e83a55602ddf5beacaacc..e86fdbd5f13fcc4fb4b5a0c2677576cc0b57ecff 100644 (file)
--- a/bot.py
+++ b/bot.py
@@ -269,10 +269,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 +276,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 +290,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 +326,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: