2017-10-04 1 views
1

Bonjour, j'ai la fonction de travail suivante. J'ai des problèmes pour utiliser les fonctions ou correctement. Voici le portage de travail du code. J'ai essayé:Envoyer le résultat du discours twilio à la fonction de travail

let twiml = new Twilio.twiml.VoiceResponse(); 
    twiml.say({ voice: 'man', language: 'en-gb' }, 'Hello I.T.'); 

CODE:

const got = require('got'); 
exports.handler = function(context, event, callback) { 

Je veux enregistrer les 15 premières secondes de l'appel et remplacer "test" avec event.SpeechResult.toString()

const requestBody = { 
    text: "test" 
    }; 
    got.post('https://hooks.slack.com/services/T08Q2345/B7D6H7U6A/THAVF2343234oSj5x', { 
    headers: { 
     'Content-Type': 'application/json' 
    }, 
    body: JSON.stringify(requestBody) 
    }) 
    .then(response => { 
    let twiml = new Twilio.twiml.MessagingResponse(); 
    callback(null, twiml); 
    }) 
    .catch(err => { 
    callback(err); 
    }); 
}; 

Répondre

1

Je l'ai résolu avec 2 fonctions

exports.handler = function(context, event, callback) { 
    const twiml = new Twilio.twiml.VoiceResponse(); 

    twiml.gather({ 
    input: 'speech', 
    timeout: 3, 
    action: '/send_slack' 
    }).say('HI'); 
    callback(null, twiml); 
}; 

Cette fonction enregistre le discours après avoir dit "HI" Ensuite dans l'action: il ira dans le chemin/send_slack. Cela déclenchera la deuxième fonction: assurez-vous que le chemin sur la deuxième fonction est/send_slack ou correspond à l'action du poing.

const got = require('got'); 
exports.handler = function(context, event, callback) { 
    const twiml = new Twilio.twiml.VoiceResponse(); 
    const command = event.SpeechResult.toLowerCase(); 

    const requestBody = { 
    text: command.toString() 
    }; 
    got.post('https://hooks.slack.com/services/T095/B7DA/THAgetyourownSj5x', { 
    headers: { 
     'Content-Type': 'application/json' 
    }, 
    body: JSON.stringify(requestBody) 
    }) 
    .then(response => { 
    let twiml = new Twilio.twiml.MessagingResponse(); 
    callback(null, twiml); 
    }) 
    .catch(err => { 
    callback(err); 
    }); 
};