因此,我使用节点js构建了一个信使机器人。我怎样才能做到:
这是我目前的1号剧本:
function replyByText(sender, text, payload) {
let kata = text.toLowerCase()
let date = new Date()
let current_hour = date.getHours()
if (S(kata).contains('produk') || S(kata).contains('produknya') || S(kata).contains('product')) {
sendOpeningProduct(sender, "Wait Sec..")
}
if (S(kata).contains('layanan')|| S(kata).contains('services')|| S(kata).contains('diagnose')){
// sendOpeningServices(sender, 'Wait sec..' )
sendPlainMessage(sender, 'Hi, what concern you most about your health? Please describe your symptoms..' )
}
if (S(kata).contains('health symptoms')){
sendPlainMessage(sender, 'Tell me What You Feel..' )
}
if (S(kata).contains('im feeling sick') || S(kata).contains('im feeling unwell') || S(kata).contains('im feeling dizzy') || S(kata).contains('dizzy') || S(kata).contains('sick')){
sendPlainMessage(sender, 'How old are you ?' )
}
if (S(kata).contains('3') || S(kata).contains('4') || S(kata).contains('5') || S(kata).contains('6') || S(kata).contains('7') || S(kata).contains('8') || S(kata).contains('9')){
sendPlainMessage(sender, 'I see...' )
sendOpeningProductKids(sender, "Just try our products")
}}任何帮助都会感激..。
发布于 2017-03-29 09:08:25
第1号的解决办法:
function replyByText(sender, text, payload) {
let kata = text.toLowerCase()
let date = new Date()
let current_hour = date.getHours()
if (S(kata).contains('produk') || S(kata).contains('produknya') || S(kata).contains('product')) {
sendOpeningProduct(sender, "Wait Sec..")
}
else if (S(kata).contains('layanan')|| S(kata).contains('services')|| S(kata).contains('diagnose')){
// sendOpeningServices(sender, 'Wait sec..' )
sendPlainMessage(sender, 'Hi, what concern you most about your health? Please describe your symptoms..' )
}
else if (S(kata).contains('health symptoms')){
sendPlainMessage(sender, 'Tell me What You Feel..' )
}
else if (S(kata).contains('im feeling sick') || S(kata).contains('im feeling unwell') || S(kata).contains('im feeling dizzy') || S(kata).contains('dizzy') || S(kata).contains('sick')){
sendPlainMessage(sender, 'How old are you ?' )
}
else if (S(kata).contains('3') || S(kata).contains('4') || S(kata).contains('5') || S(kata).contains('6') || S(kata).contains('7') || S(kata).contains('8') || S(kata).contains('9')){
sendPlainMessage(sender, 'I see...' )
sendOpeningProductKids(sender, "Just try our products")
}
else{
sendPlainMessage(sender, 'Sorry I cant recognize that command' )
}
}第2号的解决办法:
您必须在每次调用web钩子之间保存状态。遵循以下步骤。
解决这个问题有几种方法。你可以这样解决这个问题。通过更新每个web钩子调用上的covesation模型/对象来保存状态。将用户从facebook获得的唯一psid用作模型/对象的主键或组合键的一部分
发布于 2017-04-05 21:54:33
您还可以尝试使用BootBot (https://github.com/Charca/bootbot),这是一个nodejs框架,使Messenger bot开发相对容易。它具有便于检查用户输入和保存会话上下文的功能。
发布于 2017-03-28 08:35:57
对于你的第一个问题,一个开关/案例说明将是理想的。如果没有满足任何情况,默认操作将是“对不起,我无法识别该命令”。
https://stackoverflow.com/questions/42945635
复制相似问题