else:
timerbase = threading.Timer
stringbase = str
+
class MyTimer(timerbase):
def __init__(self, *args, **kwargs):
timerbase.__init__(self, *args, **kwargs)
def _gotnick(self, pieces):
oldnick = pieces[0].split('!')[0][1:]
newnick = pieces[2][1:]
- if newnick.lower() != oldnick.lower():
- self.parent.users[newnick.lower()] = self.parent.users[oldnick.lower()]
- del self.parent.users[oldnick.lower()]
- self.parent.users[newnick.lower()].nickchange(newnick)
+ if oldnick == self.nick:
+ self.nick = newnick
+ else:
+ if newnick.lower() != oldnick.lower():
+ self.parent.users[newnick.lower()] = self.parent.users[oldnick.lower()]
+ del self.parent.users[oldnick.lower()]
+ self.parent.users[newnick.lower()].nickchange(newnick)
def _gotmode(self, pieces):
source = pieces[0].split('!')[0][1:]
chan = pieces[2]
for callback in self.parent.getchanhook(target.lower()):
try:
cbret = callback(self, user, chan, *pieces)
- except NotImplementedError:
- self.msg(user, "Command not implemented.")
+ if isinstance(cbret, stringbase):
+ self.reply(target, user, cbret)
except:
self.msg(user, "Command failed. Code: CBEXC%09.3f" % (time.time() % 100000))
self.__debug_cbexception("chanhook", user=user, target=target, msg=msg)
rancmd = True
try:
cbret = callback(self, user, chan, target, *pieces[1:])
- if cbret is NotImplemented:
- raise NotImplementedError
- elif isinstance(cbret, stringbase):
+ if isinstance(cbret, stringbase):
self.reply(target, user, cbret)
- except NotImplementedError:
- self.msg(user, "Command not implemented.")
except Exception:
self.msg(user, "Command failed. Code: CBEXC%09.3f" % (time.time() % 100000))
self.__debug_cbexception("hook", user=user, target=target, msg=msg)
)
-@lib.hook(needchan=False, glevel=lib.MANAGER)
-def reply(bot, user, chan, realtarget, *args):
- raise NotImplementedError
-
@lib.hook(('sms','w'), needchan=False, glevel=lib.OWNER)
@lib.help("<number> <message>", "send an SMS")
def sms(bot, user, chan, realtarget, *args):