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):
qt = pieces[3]
nick = pieces[4]
auth = pieces[5]
- if auth != '0':
- self.parent.user(nick).authed(auth)
+ self.parent.user(nick).authed(auth)
elif pieces[1] == "JOIN":
nick = pieces[0].split('!')[0][1:]
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
cbret = callback(self, user, chan, target, *pieces[1:])
if cbret is NotImplemented:
self.msg(user, "Command not implemented.")
- else:
- self.msg(user, "No such command.")
def msg(self, target, msg):
+ if target is None or msg is None: return
+
if isinstance(target, self.parent.User): self.conn.send("NOTICE %s :%s" % (target.nick, msg))
elif isinstance(target, self.parent.Channel): self.conn.send("PRIVMSG %s :%s" % (target.name, msg))
elif isinstance(target, basestring):