我有一个语法问题,我相信我的自动驾驶仪响应能够正常工作。我的程序可以工作,但在自动驾驶仪提出问题后,它没有给用户太多时间在停止/挂断电话之前说出响应。
有没有办法添加超时或暂停?我已经尝试过这个语法,但它不起作用。这就是我所拥有的:
"actions": [
{
"collect": {
"name": "user_input",
"questions": [
{
"question": "Welcome to the modem status check line?",
"name": "search",
"type": "Twilio.NUMBER"
}
],
"on_complete": {
"redirect": {
"method": "POST",
"uri": "https://website......"
}
}
}
}
]
}
当我在下面添加时
{
"listen":true
}
此语法中的任何地方都不起作用,并给我一个错误: .actions[0].collect.questions[0] 不应该有额外的属性
我也尝试过超时:3,它也不起作用。
我已经尝试过了
{
"listen":true
}
和
"listen": {
在我的任务之前
这里是 Twilio 开发者布道者。
您无法在
Listen
流中使用 Collect
属性,并且没有简单的方法来添加超时或暂停。但是,您可以像这样在 Validate
流程中添加 Collect
操作,并增加 max_attempts
的数量,以便您的 Autopilot 机器人重复问题或要求用户重试/再次说出他们的回答。
我想知道为什么会发生这种情况,因为当我通过电话使用我的机器人时,通话会在相当长的时间内保持打开状态,等待用户的响应。
exports.handler = function(context, event, callback) {
const responseObject = {
"actions": [
{
"collect": {
"name": "collect_clothes_order",
"questions": [
{
"question": "What is your first name?",
"name": "first_name",
"type": "Twilio.FIRST_NAME"
},
{
"question": "What type of clothes would you like?",
"name": "clothes_type",
"type": "CLOTHING",
"validate": {
"on_failure": {
"messages": [
{
"say": "Sorry, that's not a clothing type we have. We have shirts, shoes, pants, skirts, and dresses."
}
],
"repeat_question": true
},
"on_success": {
"say": "Great, I've got your the clothing type you want."
},
"max_attempts": {
"redirect": "task://collect_fallback",
"num_attempts": 3
}
}
}
],
"on_complete": {
"redirect": "https://rosewood-starling-9398.twil.io/collect"
}
}
}
]
};
callback(null, responseObject);
};
让我知道这是否有帮助!