]> jfr.im git - erebus.git/blobdiff - bot.py
err... yeah.
[erebus.git] / bot.py
diff --git a/bot.py b/bot.py
index 1c8aa02a4b26c8bf68355e24e75859c2f270b4d0..7140a1a61f09846767d547e3d88465b15a24cc06 100644 (file)
--- a/bot.py
+++ b/bot.py
@@ -16,11 +16,10 @@ class Bot(object):
                self.realname = realname
 
                curs = self.parent.db.cursor()
-               curs.execute("SELECT chname FROM chans WHERE bot = %s AND active = 1", (self.nick,))
-               chansres = curs.fetchall()
-               curs.close()
-
-               self.chans = [self.parent.newchannel(self, row['chname']) for row in chansres]
+               if curs.execute("SELECT chname FROM chans WHERE bot = %s AND active = 1", (self.nick,)):
+                       chansres = curs.fetchall()
+                       curs.close()
+                       self.chans = [self.parent.newchannel(self, row['chname']) for row in chansres]
 
                self.conn = BotConnection(self, bind, server, port)
        def connect(self):
@@ -99,7 +98,13 @@ class Bot(object):
                                                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!
+                                       if self.parent.haschanhook(target.lower()):
+                                               for callback in self.parent.getchanhook(target.lower()):
+                                                       cbret = callback(self, user, chan, *pieces)
+                                                       if cbret is NotImplemented:
+                                                               self.msg(user, "Command not implemented.")
+                                       else:
+                                               return # not to bot, don't process!
                        except IndexError:
                                return # Fix if you feel like it /BiohZn