Conversation facebook messenger bot
嗨我正在为产品制作新的机器人,我需要询问客户的登录ID和密码。Conversation facebook messenger bot
所以对我而言,用户将启动一个会话通过键入hi
那么机器人就会回复Hey! How can I help you
,这里如果顾客进入I want to transfer money
然后机器人将响应Please enter a login ID
,先在这里的客户将进入登录ID和机器人会回应Enter your password
那么它是这样这个。
我在节点js中做了如下,这似乎不是对我来说正确的方式。
app.post('/webhook/', function (req, res) {
let messaging_events = req.body.entry[0].messaging
for (let i = 0; i < messaging_events.length; i++) {
let event = req.body.entry[0].messaging[i]
let sender = event.sender.id
if (event.message && event.message.text) {
let text = event.message.text.toLowerCase();
var greets = ['hi', 'hey', 'hello', 'good morning', 'good evening']
if(greets.indexOf(text) > -1) {
sendTextMessage(sender, 'Hey! How can I help you ?')
}
else if((text.indexOf('money transfer') > -1) || (text.indexOf('transfer money') > -1)) {
sendTextMessage(sender, 'OK. Please enter your login details.')
lastMessage = 'Please enter your login ID.'
} else if(text.indexOf('restart') > -1) {
lastMessage = ''
sendTextMessage(sender, 'Thanks, Give a seconds to me :)')
}
else {
sendTextMessage(sender, 'Huh! Uhhh broke me :(')
}
} else if (event.postback) {
var payload = event.postback.payload;
if(payload) {
// When a postback is called, we'll send a message back to the sender to
// let them know it was successful.
// do nothing
switch (payload) {
case 'USER_DEFINED_PAYLOAD':
sendTextMessage(sender, 'Welcome to XXX, What are you looking for today ?')
break;
}
}
console.log("Postback received: " + JSON.stringify(event.postback));
}
}
res.sendStatus(200)
})
什么是最好的方式来实现我的情况,如何保持流量,如果用户输入登录ID然后机器人会要求输入密码。
在此先感谢。
我认为最好的办法是发送一个外部链接给客户,或发送一个带有url按钮的结构化消息,客户可以点击并链接到外部。所以你的外部链接应该带上用户的sender_id
。一旦您的客户通过外部链接登录,您的回调函数就可以告诉机器人发送登录成功!消息,那么你可以继续谈话。
我不认为在纯文本消息中要求用户和密码是不安全的方式来实现,也不好的用户体验。
相反,提供外部链接供用户登录过程
或看看
帐户关联
https://developers.facebook.com/docs/messenger-platform/account-linking
帐户链接开始验证过程允许Messenger用户使用您自己的身份验证流程登录, d链接他或她的 企业帐户。
我不认为帐户链接的作品?任何在现实生活中工作的样本? https://github.com/Microsoft/BotBuilder/issues/2274 – MrOnyancha
有没有办法做到这一点没有信使机器人外重定向? – MrOnyancha