我正在尝试构建一个可以接听电话的机器人。呼叫者会说“按1”这样的短语,机器人就会播放数字1。
如果呼叫者说按2,机器人将通过播放数字2来响应,依此类推。
任何洞察力都会有所帮助。谢谢
陆氏
发布于 2019-10-15 02:43:21
Twilio开发者的布道者在这里。
欢迎使用StackOverflow!
这个Node.js quickstart有几个步骤,你需要用Autopilot制作一个语音机器人。
首先,你会买一个Twilio的电话号码here。然后,使用Twilio Autopilot机器人的URL配置该数字。这个数字可以在自动驾驶机器人左侧的Channels下找到。

单击可编程语音并复制此URL

然后将其粘贴到语音和传真下,以便在webhook旁边有来电时使用:

接下来,您可以为用户可能说的每个可能的短语创建一个任务。如果短语是“按1",您可以重定向至在应答呼叫时使用sendDigits播放双音多频音的Twilio Function。Twilio Autopilot任务可能包括以下JSON:
{
"actions": [
{
"redirect": {
"uri": "https://YOUR-TWILIO-FUNCTION-URL.twil.io/actions",
"method": "POST"
}
}
]
}那么你的函数代码可以是
const VoiceResponse = require('twilio').twiml.VoiceResponse;
const response = new VoiceResponse();
const dial = response.dial();
dial.number({
sendDigits: 'wwww1928'
}, 'replace-with-number-to-dial');
console.log(response.toString());或者,您可以有一个Autopilot任务,然后在Twilio函数中使用一个条件来检查用户说了哪个数字。这将包括类似以下内容的代码:
exports.handler = function(context, event, callback) {
const VoiceResponse = require('twilio').twiml.VoiceResponse;
const response = new VoiceResponse();
const dial = response.dial();
let responseObject = {};
let memory = JSON.parse(event.Memory);
console.log(memory.twilio.collected_data);
let num = memory.twilio.collected_data.your_collect_function_name.answers.your_question_name.answer;
console.log(num); //collected data from memory
if(num == 0 || num == "zero") {
dial.number({
sendDigits: '0'
}, 'replace-with-number-to-dial');
console.log(response.toString());
}
};如果这有帮助,请让我知道!
https://stackoverflow.com/questions/58361539
复制相似问题