Как использовать функцию Twilio, чтобы повторить сообщение? - PullRequest
0 голосов
/ 12 декабря 2018

Вот мой код

exports.handler = function(context, event, callback) {
  let twiml = new Twilio.twiml.VoiceResponse();
  twiml.gather({ numdigit:"1", tiemout:"5"}).say("some message , press 9 to repeat");

  if(event.numdigit === 9)
  {
      twiml.repeat;
  }
  else if(event.numdigit != 9){
      twiml.say("soory");
  }
  callback(null, twiml);
};

Я новичок в функциях twilio.Я просмотрел документы, но ничего не могу найти по этому поводу.

Когда я звоню на номер "какое-то сообщение, нажимаю 9, чтобы повторить" это сказано, но я хочу повторитьсообщение, когда нажата цифра 9 и должно воспроизводиться извините, когда нажата цифра, отличная от 9

В настоящее время, если я нажал цифру, отличную от 9, то также воспроизводится то же сообщение.Если я нажимаю на какую-либо вещь, то получается «извините»

Может кто-нибудь предложить решение

1 Ответ

0 голосов
/ 17 декабря 2018

Twanio Developer Evangelist здесь.

Что может сбить с толку, так это то, что эта функция фактически вызывается дважды как часть вашего вызова.

<Gather> работает какэто: когда пользователь вводит цифру, Twilio делает новый HTTP-запрос с параметром Digits для атрибута <Gather> action или по умолчанию с тем же URL-адресом, что и текущий ответ.В вашем случае это означает, что он снова запросит ту же функцию Twilio.

Нет повторения TwiML, поэтому нам нужно повторить то же самое.Вот пример того, как этого добиться, возвращая тот же TwiML для начального запроса и для любого запроса, где параметр Digits не равен «9»:

exports.handler = function(context, event, callback) {
  const message = "some message , press 9 to repeat";
  const gatherOptions = { numdigit:"1", tiemout:"5"};
  let twiml = new Twilio.twiml.VoiceResponse();

  if (event.Digits) {
    if(event.Digits === '9') {
      twiml.gather(gatherOptions).say(message);
    } else {
      twiml.say("sorry");
    }
  } else {
    twiml.gather(gatherOptions).say(message);
  }
  callback(null, twiml);
};

Дайте мне знать, если это поможет.

...