这是我的代码
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以外的数字,则还会播放相同的消息。如果我确实按了任何东西,那么它将变成“对不起”
任何人都可以提出解决方案
答案 0 :(得分:0)
这里是Twilio开发人员的传播者。
在这里可能令人困惑的是,此函数实际上是在调用过程中两次被调用。
<Gather>
的工作方式如下:当用户输入数字时,Twilio使用Digits
action
attribute的<Gather>
参数或默认情况下使用与当前响应相同的URL。就您而言,这意味着它将再次请求相同的Twilio函数。
没有重复的TwiML,所以我们需要再说一遍。下面是一个示例,该示例通过针对初始请求和Digits
参数不为“ 9”的任何请求返回相同的TwiML来实现:
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);
};
让我知道是否有帮助。