【发布时间】:2020-06-05 17:20:40
【问题描述】:
我有一个连接到 dialogflow 的 node.js 后端来制作聊天机器人,我可以发送答案、读取用户的输入。有时我需要验证一些参数作为 IDCARD 号。好吧,我可以向用户检索一条消息,说 ID 号不正确,但我需要留在同一个对话流上下文中,而不是转到下一个,以便能够将新值保留在同一个参数中。有谁知道这是怎么做到的吗? 这对于在发送快速回复时添加上一个按钮以返回上一个问题也很有用。
我把我的代码留给你,在那里我读取一个上下文参数并验证它:
case "ingresar-telefono":
let filteredContexts = contexts.filter(function (el)
{
return el.name.includes('recibirinfo')
});
if (filteredContexts.length > 0 && contexts[0].parameters) {
numerotelefonico = (isDefined(contexts[0].parameters.fields['Telefono.original']) && contexts[0].parameters.fields['Telefono.original'] !== '') ? contexts[0].parameters.fields['Telefono.original'].stringValue: '';
console.log("Numero telefonico: "+numerotelefonico);
if (isNaN(numerotelefonico)){
console.log("Entro is not a number.");
sendTextMessage(sender, "¡Parece que tu numero de telefono tiene caracteres no permitidos!");
sendTextMessage(sender, "¡Vuelvelo a ingresar!");
}
else if(!numerotelefonico.startsWith("9")){
console.log("Entro no empieza en 9.");
sendTextMessage(sender, "¡Vuelvelo a ingresar!");
}
else{
handleMessages(messages, sender);
}
}
break;
谢谢,
乔纳森·普列托
【问题讨论】:
标签: javascript node.js dialogflow-es facebook-messenger-bot facebook-chatbot