class Erebus(object):
bots = {}
fds = {}
- mods = {}
numhandlers = {}
msghandlers = {}
+ chanhandlers = {}
users = {}
chans = {}
self.chans.append(chan)
def part(self, chan):
self.chans.remove(chan)
+ def quit(self):
+ for chan in self.chans:
+ self.chans.remove(chan)
def __str__(self): return self.nick
def __repr__(self): return "<User %r (%d)>" % (self.nick,self.glevel)
def randbot(self): #get Bot() randomly
for b in self.bots.itervalues(): return b #TODO
- def user(self, nick, justjoined=False):
- nick = nick.lower()
+ def user(self, _nick, justjoined=False):
+ nick = _nick.lower()
if nick in self.users:
return self.users[nick]
else:
- user = self.User(nick)
+ user = self.User(_nick)
self.users[nick] = user
if justjoined:
- self.randbot().conn.send("WHO %s %%ant,2" % (nick))
+ self.randbot().conn.send("WHO %s n%%ant,2" % (nick))
return user
def channel(self, name): #get Channel() by name
if bot.conn.state == 0:
bot.connect()
+ def module(self, name):
+ return ctlmod.modules[name]
+
#bind functions
def hook(self, word, handler):
try:
def hookchan(self, chan, handler):
try:
- self.chanhandlers[word].append(handler)
+ self.chanhandlers[chan].append(handler)
except:
- self.chanhandlers[word] = [handler]
+ self.chanhandlers[chan] = [handler]
def unhookchan(self, chan, handler):
if chan in self.chanhandlers and handler in self.chanhandlers[chan]:
self.chanhandlers[chan].remove(handler)