在Facebook Messenger Bot中获取用户的指定输入

时间:2016-07-08 14:09:32

标签: node.js facebook-messenger

有人可以告诉我如何触发Facebook Messenger Bot的表单字段吗?

应该是什么样子:

  

Bot:请输入您的电子邮件

     

用户:email@adress.com

     

Bot:保存在数据库中的电子邮件

我想将此触发为事件,而不是永久收听电子邮件

1 个答案:

答案 0 :(得分:0)

我不确定你想要什么,但如果我理解了一点,你可以使用这样的东西:

var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
app.post('/webhook', function (req, res) {
    var events = req.body.entry[0].messaging;
    for (i = 0; i < events.length; i++) {
        var event = events[i];
        if (event.message && event.message.text) {
            if(re.test(event.message.text)){
                //call your handler function here
            }
        }
    }
    res.sendStatus(200);
});

请注意,我在这里使用正则表达式,如果您不需要精确验证,则可以使用更简单的函数。