function()

in Events and Hacks/Tech Talks/busbot/app.js [137:177]


    function (session, next){
        tfl.stoppoint({ lat: session.userData.lat, lon: session.userData.lon, stopTypes: 'NaptanBusWayPoint,NaptanBusCoachStation,NaptanPublicBusCoachTram'})       
        .then(result => { 
            var naptanId;
            var busDestination;
            var searchResult = JSON.parse(result.text);
            var userDirection = session.userData.direction;
            var stopPointsNum = searchResult.stopPoints.length;
            
            for(var i=0; i<stopPointsNum; i++){
                if(searchResult.stopPoints[i].lines.length != 0){
                    busDestination = searchResult.stopPoints[i].additionalProperties[1].value;
                    if(busDestination.includes(userDirection)){
                        naptanId = searchResult.stopPoints[i].id;
                        break;
                    }                
                }           
            }

            return tfl.stoppoint.byIdArrivals(naptanId);
        }).then(result => {
            var busnum = session.userData.busnum;
            var direction = session.userData.direction;
            var searchResult = JSON.parse(result.text);
            var i = searchResult.length-1;

            session.send(busnum + " towards " + direction);
            for(i; i>=0; i--){
                if(searchResult[i].lineName == busnum){
                    var lineName = searchResult[i].lineName;
                    var destinationName = searchResult[i].destinationName;   
                    var arrivalTime = searchResult[i].expectedArrival;
                    var time = new Date(arrivalTime);     
                    session.send(time.getHours()+1 + ":" + time.getMinutes());   
                    console.log(time.getHours()+1 + ":" + time.getMinutes() + "     " + lineName + " to " + destinationName);        
                }    
            } 
        });
        
        session.endDialog(); 
    }