X-Git-Url: https://jfr.im/git/erebus.git/blobdiff_plain/04638dadff44f10f318b367469b539920441452d..877cd61d6b2ec81fce347ffc0c13b306e2605394:/bot.py diff --git a/bot.py b/bot.py index 55c205d..7a4cb37 100644 --- a/bot.py +++ b/bot.py @@ -88,6 +88,9 @@ class Bot(object): def parsemsg(self, user, target, msg): chan = None + if len(msg) == 0: + return + triggerused = msg[0] == self.parent.trigger if triggerused: msg = msg[1:] pieces = msg.split() @@ -101,12 +104,15 @@ class Bot(object): else: # message was sent to a channel chan = self.parent.channel(target) #TODO check if bot's on channel --- in Erebus.channel() maybe? - if msg[0] == '*': # message may be addressed to bot by "*BOTNICK" trigger? - if pieces[0][1:].lower() == self.nick.lower(): - pieces.pop(0) # command actually starts with next word - msg = ' '.join(pieces) # command actually starts with next word - elif not triggerused: - return # not to bot, don't process! + try: + if msg[0] == '*': # message may be addressed to bot by "*BOTNICK" trigger? + if pieces[0][1:].lower() == self.nick.lower(): + pieces.pop(0) # command actually starts with next word + msg = ' '.join(pieces) # command actually starts with next word + elif not triggerused: + return # not to bot, don't process! + except IndexError: + return # Fix if you feel like it /BiohZn cmd = pieces[0].lower() @@ -121,8 +127,8 @@ class Bot(object): if cbret is NotImplemented: self.msg(user, "Command not implemented.") continue - - self.msg(user, "No such command, or you don't have access.") + else: + self.msg(user, "No such command, or you don't have access.") def msg(self, target, msg): if isinstance(target, self.parent.User): self.conn.send("NOTICE %s :%s" % (target.nick, msg))