pieces = msg.split()
if target == self.nick:
+ if msg[0] == "\001": #ctcp
+ msg = msg.strip("\001")
+ if msg == "VERSION":
+ self.msg(user, "\001VERSION Erebus v%d.%d - http://github.com/zonidjan/erebus" % (self.parent.APIVERSION, self.parent.RELEASE))
+ return
if len(pieces) > 1:
chanword = pieces[1]
if chanword[0] == '#':
cbret = callback(self, user, chan, *pieces)
if cbret is NotImplemented:
self.msg(user, "Command not implemented.")
- return
- else:
- return # not to bot, don't process!
+ return # not to bot, don't process!
except IndexError:
- return # Fix if you feel like it /BiohZn
+ return # "message" is empty
cmd = pieces[0].lower()
if not hasattr(mod, 'modinfo'):
return modlib.error('no modinfo')
- if 1 not in mod.modinfo['compatible']:
+ if parent.APIVERSION not in mod.modinfo['compatible']:
return modlib.error('API-incompatible')
modules[modname] = mod
#TODO: tons
-import os, sys, select, MySQLdb, MySQLdb.cursors, time
+import os, sys, select, MySQLdb, MySQLdb.cursors, time, random
import bot, config, ctlmod
class Erebus(object):
+ APIVERSION = 1
+ RELEASE = 0
+
bots = {}
fds = {}
numhandlers = {}
def fd(self, fileno): #get Bot() by fd/fileno
return self.fds[fileno]
def randbot(self): #get Bot() randomly
- for b in self.bots.itervalues(): return b #TODO
+ return random.choice(self.bots)
def user(self, _nick, justjoined=False):
nick = _nick.lower()