Facebook Messenger Bot Dialogflow:使用Firebase HTTP请求通过Webhook获取响应

时间:2019-03-12 08:17:31

标签: facebook firebase dialogflow webhooks actions-on-google

我从Dialogflow创建了一个简单的机器人,并使用Firebase HTTP请求将其连接到Webhook Fulfillment。然后,我将项目与FB Messenger集成在一起,并进行了所有配置。问题是我没有从Webhook到Messenger机器人任何响应。

这就是我所做的:我创建了两个文件。

(Index.js)

const functions = require('firebase-functions');
const appModule = require('./routes/api'); //calls my api.js file

module.exports = {
    'api': functions.https.onRequest(appModule)
}

(routes / api.js)

const {dialogflow, BasicCard, Image} = require('actions-on-google'),
      app = dialogflow({ debug: true });


app.intent('favoriteColor', (conv) => {
    console.log('in second intent!!');
    conv.close('BTW you look great!');
});

module.exports = app;

因此,当我在Dialogflow聊天或Google Assistant Simulator中对此进行测试时,它可以完美运行。 (见下图)

simulator on google assistant

然后,当我在Facebook Messenger上对此进行测试时,我没有收到Webhook的回复。 FB bot的唯一响应来自Dialogflow响应,一旦响应来自webhook,它将停止。 (请参见下图)

fb messenger bot

这是我从firebase获得的日志。 (请参见下图)

firebase logs

如您所见,日志中没有错误,正在发送响应,但没有收到我的Facebook Messenger机器人。

可能是什么问题?谢谢。

0 个答案:

没有答案