【发布时间】:2019-01-23 19:32:06
【问题描述】:
我需要做的是让我的机器人在回复某些内容后等待用户响应,以便他可以回复一个流程结束消息示例:
用户:点击开始按钮
机器人:我可以帮助您完成以下(付款)(选项2)(选项3)
用户:点击付款
Bot:请输入账单号
用户:3922509234
..................
Bot:好的,谢谢,您的付款将被处理
这就是 facebook 应用程序与机器人通信的方式
app.post('/webhook', function(request, response) {
var data = request.body;
if(data.object == 'page'){
data.entry.forEach(function(pageEntry){
pageEntry.messaging.forEach(function (messagingEvent) {
if(messagingEvent.message){
console.log("MESSAGE---------------------> ",messagingEvent);
var messageInfo = functions.reciveMessage(messagingEvent);
console.log("MESSAGEINFO ", messageInfo);
evaluateMessage(messageInfo);
}
if(messagingEvent.postback){
console.log("POSTBACK--------------------> ",messagingEvent);
var postBackInfo = functions.recivePostBack(messagingEvent);
evaluatePostBack(postBackInfo);
}
});
});
response.sendStatus(200);
}
});
这是评估用户输入的关键字的地方
function evaluateMessage(messageInfo, type) {
if(functions.isWordContain(messageInfo.senderMessage,'Pagar')||
functions.isWordContain(messageInfo.senderMessage,'pagar')||
functions.isWordContain(messageInfo.senderMessage,'Factura')||
functions.isWordContain(messageInfo.senderMessage,'factura')){
var message = functions.sendTextMessage(messageInfo.senderId, "Por
favor ingresa el numero de tu contrato");
callSendAPI(message);
}
}
messageInfo 检查是否包含关键字,然后将消息返回给用户。
我如何让机器人等待用户输入以便他可以回复
我正在使用带有 express 的 Node.Js,而不是任何机器人构建平台,请帮助
【问题讨论】: