微软botframework失败:[400] Facebook Messenger上的错误请求

时间:2017-08-02 16:01:52

标签: node.js facebook botframework

所以我在Facebook Messenger机器人的messenges上获得[400] Bad Request

我之前没有得过这个。错误:

Error: Request to 'https://facebook.botframework.com/v3/conversations/some-randomID/activities/anotherID' failed: [400] Bad Request

我已经进行了搜索并从Github问题开始,我认为这是与状态存储有关的东西。从这个帖子:https://github.com/Microsoft/BotBuilder/issues/2272

我已经阅读了nodejs sdk文档并添加了:

bot.set('persistConversationData', false);
bot.set('persistUserData', false);

我甚至控制台在我的一个意图中注销了以下内容

console.log(session.conversationData, '<<');
console.log(session.privateConversationData, '<<');
console.log(session.dialogData, '<<');
console.log(session.userData, '<<');

我回来了

[0] {} '<<'
[0] {} '<<'
[0] { 'BotBuilder.Data.WaterfallStep': 0 } '<<'
[0] {} '<<'

有没有人遇到过这个问题。知道发生了什么事吗?

更新

我一直在通过模拟器测试它,所有这些似乎都在那里正常工作。我没有收到错误。

我知道,关闭模拟器可以杀死所有持久存储,所以我觉得它与该问题有关,但不确定为什么我当前的bot.set方法无效。

我的server.js配置

import request from 'request';
import botDefault from './bot';

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

const server = restify.createServer();
server.listen(process.env.PORT || 5000, () => {
  console.log('%s listening to %s', server.name, server.url);
});

const connector = new builder.ChatConnector({
  appId: process.env.MICROSOFT_APP_ID,
  appPassword: process.env.MICROSOFT_APP_PASSWORD,
});
const bot = new builder.UniversalBot(connector);
bot.set('persistConversationData', false);
bot.set('persistUserData', false);

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

bot.beginDialogAction('Help', 'Help', { matches: /^help/i });
bot.beginDialogAction('/', '/', { matches: /^get started|Get Started/i });

botDefault(bot, builder);

0 个答案:

没有答案