Exemple #1
0
    def handle_connect(self, irc, client):
        SockWriter(client)
        SockReader(client)
        Terminator(client, delim=b'\r\n')
        SockWriter(irc)
        SockReader(irc)
        Terminator(irc, delim=b'\r\n')
        irc.add_map(Terminator.FOUND, self.handle_found)
        client.add_map(Terminator.FOUND, self.handle_found)

        irc.arrow = client
        client.arrow = irc

        print('Client Connected', irc.getpeername())
        print('Connection to %s:%s stablished.' % irc.getpeername())
Exemple #2
0
def install_basic_handles(ssock):
    """
    """

    SockWriter(ssock)
    SockReader(ssock)
    ssock.add_map(CLOSE, handle_conerr)
Exemple #3
0
    def on_connect(self, con):
        area = self.create_area(self.addr)
        area.bind('<Destroy>',
                  lambda event: send_cmd(con, 'QUIT :vy rules!'),
                  add=True)

        SockWriter(con)
        SockReader(con)
        Terminator(con)
        Irc(con)
        self.misc = Misc(con)

        con.add_map(CLOSE, lambda con, err: lose(con))
        con.add_map('*JOIN', self.create_channel)

        con.add_map(
            Terminator.FOUND,
            lambda con, data: area.append('%s\n' % data.decode(self.encoding)))

        con.add_map('PMSG', self.e_pmsg)
        con.add_map('376', lambda con, *args: send_cmd(con, self.irccmd))

        con.add_map('376', self.auto_join)

        con.add_map(
            'PING',
            lambda con, prefix, servaddr: send_cmd(con, 'PONG :%s' % servaddr))

        send_cmd(con, 'NICK %s' % self.nick)
        send_cmd(con, 'USER %s' % self.user)
Exemple #4
0
def setup(con, msg):
    SockReader(con)
    SockWriter(con)
    con.dump(msg.encode('utf8'))
    con.settimeout(1)

    con.add_map(DUMPED, lambda con: die('Msg dumped!'))
Exemple #5
0
    def on_connect(self, ssock):
        """
        """

        SockReader(ssock)
        SockWriter(ssock)
        ssock.add_map(LOAD, self.on_load)
        ssock.add_map(CLOSE, lambda con, err: lose(con))
Exemple #6
0
    def handle_accept(self, server, client):
        SockWriter(client)
        SockReader(client)
        Terminator(client, delim=b'\r\n')
        parser = CalcParser(client)

        client.add_map('add', self.on_add)
        client.add_map('sub', self.on_sub)
        client.add_map('mul', self.on_mul)
        client.add_map('div', self.on_div)
        client.add_map((parser.handle_found, ValueError), self.on_error)

        client.add_map(CLOSE, self.handle_close)
Exemple #7
0
    def on_accept(self, local, ssock):
        """
        """

        SockReader(ssock)
        SockWriter(ssock)
        Fixed(ssock)

        ssock.dumpfile(self.fd)

        ssock.add_map(CLOSE, lambda con, err: lose(con))
        ssock.add_map(Fixed.FOUND, self.on_ack)
        ssock.add_handle(
            lambda ssock, event, args: self.drive(event, ssock, *args))
        self.timer.cancel()
Exemple #8
0
def send_auth(con, nick, user, cmd, delay):
    SockWriter(con)
    SockReader(con)
    Terminator(con)
    Irc(con)
    logcon(con)

    def do_job(ssock, *args):
        for ind in cmd:
            send_cmd(ssock, ind)
            sleep(delay)

    con.add_map('376', do_job)
    con.add_map(
        'PING',
        lambda con, prefix, servaddr: send_cmd(con, 'PONG :%s' % servaddr))

    con.add_map(CLOSE, lambda con, err: lose(con))
    send_cmd(con, 'NICK %s' % nick)
    send_cmd(con, 'USER %s' % user)
Exemple #9
0
def setup(con):
    SockWriter(con)
    SockReader(con)
    Terminator(con)
    Irc(con)
    CTCP(con)

    con.add_map(
        'PING',
        lambda con, prefix, servaddr: send_cmd(con, 'PONG :%s' % servaddr))
    con.add_map('376', lambda con, *args: send_cmd(con, 'JOIN #ameliabot'))

    con.add_map('PRIVMSG', send_file)
    con.add_map('DCC SEND', check_file_existence)
    con.add_map('376', get_myaddr)
    con.add_map(CLOSE, lambda con, err: lose(con))

    logcon(con)

    send_cmd(con, 'NICK %s' % NICK)
    send_cmd(con, 'USER %s' % USER)
Exemple #10
0
    def send_auth(self, con):
        # It is what we use to send data. send_msg function uses
        # ssock.dump function to dump commands.
        SockWriter(con)
        SockReader(con)

        # This protocol spawns FOUND whenever it finds \r\n.
        Terminator(con)

        Irc(con)

        con.add_map(CLOSE, lambda con, err: lose(con))

        # Now, it basically means: when it '376' irc command is
        # issued by the server then calls self.auto_join.
        # We use auto_join to send the sequence of JOIN
        # commands in order to join channels.
        con.add_map('376', self.auto_join)

        # Below the remaining stuff follows the same pattern.
        con.add_map('JOIN', self.on_join)
        con.add_map('PING', self.on_ping)
        con.add_map('PART', self.on_part)
        con.add_map('376', self.on_376)
        con.add_map('NOTICE', self.on_notice)
        con.add_map('PRIVMSG', self.on_privmsg)
        con.add_map('332', self.on_332)
        con.add_map('001', self.on_001)
        con.add_map('001', self.on_002)
        con.add_map('003', self.on_003)
        con.add_map('004', self.on_004)
        con.add_map('333', self.on_333)
        con.add_map('353', self.on_353)
        con.add_map('366', self.on_366)
        con.add_map('474', self.on_474)
        con.add_map('302', self.on_302)

        send_cmd(con, 'NICK %s' % self.nick)
        send_cmd(con, 'USER %s' % self.user)
        send_msg(con, 'nickserv', 'identify %s' % self.password)
Exemple #11
0
    def handle_accept(self, server, con):
        SockWriter(con)
        SockReader(con)

        con.dump(('%s\r\n' % asctime()).encode('utf-8'))
        con.add_map(CLOSE, lambda con, err: lose(con))
Exemple #12
0
def setup(server, con):
    SockReader(con)
    SockWriter(con)
    con.add_map(CLOSE, lambda con, err: lose(con))
    con.add_map(LOAD, lambda con, data: sys.stdout.write('%s\r\n' % data))