def handle_response(self, server: Server) -> bool: # whether or not it was handled # switch command cmd = self.command try: cmd_num = int(cmd) CommandResponse.handle_response(CommandResponse(cmd_num), self, server) return True except ValueError: pass for c in Command.COMMANDS: if c.call_safe(self, server): return True if cmd == 'ping': server.send_command('PONG') server.info("pong'd") elif cmd == 'notice': server.info('NOTICE: ' + self.content) elif cmd == 'cap': server.info('haha cap') server.send_str('no') elif cmd == 'privmsg': server.info(self.content) # todo: parse sources! else: server.info('unable to parse %s or command %s'%(self, self.command)) return False
def handle_response(self, response: 'ResponseHandler', server: Server) -> None: # https://tools.ietf.org/html/rfc2812#section-5 server.info('response gotten: %s'%str(response)) if self.number == 432: # bad nickname server.info('bad nick!') elif self.number == 1: # welcome server.info(response.content) elif self.number == 2: # another welcome message? server.info(response.content) elif self.number == 352: # a general message to be logged user: str = response.parameters[1] channel: str = response.parameters[0] server.info('%s > %s' % (user, response.content)) else: server.info(response.content)