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())
def install_basic_handles(ssock): """ """ SockWriter(ssock) SockReader(ssock) ssock.add_map(CLOSE, handle_conerr)
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)
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!'))
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))
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)
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()
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)
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)
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)
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))
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))