#twilio #twilio-twiml #twilio-programmable-voice
#twilio #twilio-twiml #twilio-программируемый-голосовой
Вопрос:
Нужна помощь в проверке результатов speechresults: я пытаюсь проверить, получаем ли мы правильные результаты речи в функции twiml. Я могу получить результаты речи и выполнить с ними определенные действия … но я хочу провалить свой тест, если он не соответствует. Как этого добиться.. Заранее благодарю. Мой пример кода
exports.handler = function(context, event, callback)
{
let twiml = new Twilio.twiml.VoiceResponse();
console.log("Event = " JSON.stringify(event));
let ivrSpeech = (event.SpeechResult ? event.SpeechResult : "").toLowerCase();
let servicetype = event.servicetype;
console.log("Call type" servicetype);
let IVRType = event.ivrgoal;
if (ivrSpeech amp;amp; ivrSpeech.length > 0)
{
if(servicetype.includes("XX"))
{
if (ivrSpeech.includes("Call may be recorded and monitored for quality purpose"))
{
twiml.pause({ length: 10 });
}
else
{
XXX - fail my test
}
}
}
callback(null, twiml)
}
Ответ №1:
Евангелист-разработчик Twilio здесь.
Во-первых, у вас есть одна проблема с вашим кодом, которая означает, что вы всегда будете проваливать проверку.
Когда вы получите ivrSpeech
то, что вам нужно, позвоните .toLowerCase()
по нему:
let ivrSpeech = (event.SpeechResult ? event.SpeechResult : "").toLowerCase();
Но затем вы тестируете строку с заглавной буквой в ней:
if (ivrSpeech.includes("Call may be recorded and monitored for quality purpose"))
Так что вы должны изменить это для начала.
В противном случае, я не уверен, что вы имеете в виду, когда говорите, что хотите «провалить мой тест», когда он не совпадает. Пока что у вас довольно хорошо написан код, но я не совсем понимаю, что вы хотите сделать в этом else
условии.
Один из вариантов — повесить трубку, чего вы добьетесь следующим образом:
if (ivrSpeech amp;amp; ivrSpeech.length > 0)
{
if(servicetype.includes("XX"))
{
if (ivrSpeech.includes("call may be recorded and monitored for quality purpose"))
{
twiml.pause({ length: 10 });
}
else
{
twiml.hangup();
}
}
}
callback(null, twiml)