<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def __process_instructions(self, inst):
        "Act on instructions recieved"
        to_send = []
        for cmd, msg, com in inst:
            if cmd not in config.CMDS:  # ignore if it is not legal
                continue
            if cmd == 'MSG':
                if self.mode == 's':
                    to_send.append((msg, com))
                if self.color:
                    txt = config.Col.BOLD + msg + config.Col.ENDC
                else:
                    txt = msg
                print(txt)
                if self.issue_alert:
                    os.system(self.alert)
            elif cmd == 'QUIT':
                if self.mode == 's':  # client quit
                    com.close()
                    with self.__client_list_lock:
                        self.clients.remove(com)
                else:  # server quit
                    self.__s.close()
                    self.__make_client()  # wait for new server
            elif cmd == 'ASSUME':
                if self.mode == 'c':  # assume a server role if client
                    self.__s.close()
                    self.__make_server()
        for msg, sender in to_send:
            if self.mode == 'c':
                utils.msg(msg, self.__s)
            else:
                with self.__client_list_lock:
                    for com in self.clients:
                        if com == sender:
                            continue
                        utils.msg(msg, com)