Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
    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)