def part(self, user, line): if utilities.validate(line, 2): self.trigger("not_enough_params", user, "PART") return if len(line) > 2 and line[2]: message = utilities.join_msg(line[2:]) else: message = "" chans = line[1].split(",") for chan in chans: if not chan.startswith("#"): chan = "#" + chan chan = chan[:30] if utilities.chan_re.match(chan): self.trigger("channels_part", user, chan, message)
def privmsg(self, user, line): if utilities.validate(line, 2): self.trigger('no_recip', user) return if utilities.validate(line, 3): self.trigger('no_text', user) return message = utilities.join_msg(line[2:]) if utilities.ctcp_re.match(message): self.trigger('attempted_ctcp', user) return if line[1].startswith('#'): self.trigger('channels_privmsg', user, line[1][:30], message) else: self.trigger('user_privmsg', user, line[1][:15], message)
def topic(self, user, line): if utilities.validate(line, 2): self.trigger('not_enough_params', user, 'TOPIC') return if not utilities.validate(line, 3): new_topic = utilities.join_msg(line[2:]) else: new_topic = None if not line[1].startswith('#'): channel = '#' + line[1] else: channel = line[1] channel = channel[:30] if utilities.chan_re.match(channel): self.trigger('channels_topic', user, channel, new_topic)
def notice(self, user, line): if utilities.validate(line, 2): self.trigger("no_recip", user) return if utilities.validate(line, 3): self.trigger("no_text", user) return message = utilities.join_msg(line[2:]) if utilities.ctcp_re.match(message): self.trigger("attempted_ctcp", user) return if line[1].startswith("#"): pass else: self.trigger("user_notice", user, line[1][:15], message)
def kick(self, user, line): if utilities.validate(line, 3): self.trigger('not_enough_params', user, 'KICK') return if not utilities.validate(line, 4): message = utilities.join_msg(line[3:]) else: message = 'kicked' if not line[1].startswith('#'): chan = '#' + line[1] else: chan = line[1] chan = chan[:30] if not utilities.chan_re.match(chan): return self.trigger('channels_kick', user, chan, line[2][:15], message)