node.js - 在 BotBuilder 中记录传入请求

标签 node.js facebook botframework

尝试记录来自 Facebook 的所有传入请求,以便我可以检查返回的对象,以便使用实现的内置 NLP Facebook 执行一些操作。

但是,我似乎找不到任何地方告诉我可以 console.log 传入请求。

server.post('/api/messages', Connector.listen()); 方法中,我尝试传入 console.log 但没有任何反应。

const express = require('express');
const builder = require('botbuilder');

const server = express();

const connector = new builder.ChatConnector({
  appId: process.env.MICROSOFT_APP_ID,
  appPassword: process.env.MICROSOFT_APP_PASSWORD,
});

server.post('/api/messages', connector.listen());

server.listen(process.env.PORT || 5000, () => {
  console.log('Running on port 5000');
});

最佳答案

您可能希望使用中间件来访问传入/传出消息。

看看Middleware and Logging with BotBuilder Node SDK样本。

捕获用户输入

  botbuilder: function (session, next) {
       console.log(session.message.text);
       next();
   }

捕获机器人对用户的输出

send: function (event, next) {
    console.log(event.text);
    next();
}

特别是,由于您想要检查来自 Facebook 的内容,因此您可能必须记录 sourceEvent 属性,这是 channel 发送其 native 信息的地方。

关于node.js - 在 BotBuilder 中记录传入请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45592351/

相关文章:

iphone - 使用 Storyboard的 Facebook 身份验证 iOS

botframework - ChatBot 在 Web Emulator 中不起作用,但在 Local Bot Framework 仿真器中运行良好

c# - PromptDialog 用于未确定数量的问题

c# - BotFramework 操作不会在 Facebook Messenger 和 Telegram 中呈现为按钮(空)

javascript - SystemJS/Aurelia 应用程序在 PhantomJS 中中断

facebook - 在 Facebook 浏览器中更新 Service Worker

javascript - 如何在ejs标签中插入javascript变量

php - 无法连接到 graph.facebook.com 端口 443 : Network unreachable

node.js - package.json 中的依赖是什么 - nodejs

node.js - Sequelize : is there a way to update a value from an instance method