def wrapped(self, prefix, command, args): if not re.match(channelmatch, args[0]): return nick = self.id.nick(strings.getnick(prefix), prefix) # (self, nick, channel) newargs = (self, nick, args[0]) return handler(*newargs)
def handlenick(self, prefix, args): if self.isme(prefix): # update bot nickname self.me = args[0] oldnick = strings.getnick(prefix) self.nicks[args[0]] = self.nicks[oldnick] del self.nicks[oldnick] for channelname in self.nicks[args[0]].channels: channel = self.channels[channelname] channel.nicks[args[0]] = channel.nicks[oldnick] del channel.nicks[oldnick]
def wrapped(self, prefix, command, args): if strings.isctcp(args[1]): return if not (re.match(targetmatch, args[0]) and re.match(textmatch, args[1])): return nick = self.id.nick(strings.getnick(prefix), prefix) if strings.ischannel(args[0]): target = self.id.channel(args[0]) else: target = self.id.nick(args[0]) # (self, nick, target, msg) newargs = (self, nick, target, args[1]) return handler(*newargs)
def isme(self, prefix): return strings.getnick(prefix) == self.me
def handlequit(self, prefix, args): nickname = strings.getnick(prefix) self.removenick(nickname)
def handlepart(self, prefix, args): if self.isme(prefix): self.removechannel(args[0]) else: nickname = strings.getnick(prefix) self.removefromchannel(args[0], nickname)
def handlejoin(self, prefix, args): if self.isme(prefix): self.channels[args[0]] = Channel(self, args[0]) nickname = strings.getnick(prefix) self.addtochannel(args[0], nickname, set(), prefix)