Bot在本地工作,但对Bot服务没有反应

时间:2017-09-14 23:32:54

标签: node.js azure cloud botframework azure-bot-service

我已经建立了一个机器人,可以通过VSTS进行持续集成。僵尸程序正在运行App Service计划(我最近才发现消费计划机器人是作为功能运行的。)我在云计算中有一个关于消费的工作机器人,但它限制了我扩展的能力。

对于这个机器人,我做了一个提示机器人的干净部署 - 但试图在云中运行它产生了一个对话框错误。所以我注释掉了Prompt代码并将其变成了一个echo bot。仍然在本地运行良好,但服务没有响应。尝试登录到Kudu控制台并运行手动npm安装,但它没有帮助。尝试在kudu中手动运行bot会导致错误请求错误。

节点版本6.11.2。文件树包括Bot服务在初始部署时提供的所有文件,包括iisnode和web.config。

这是我的app.js和package.json。有没有其他人遇到本地有效机器人没有响应云部署的问题?我还没试过任何技巧?

  

更新:通过Azure日志流发现此错误,但不知道如何解决它。   错误:请求{' https://state.botframework.com/v3/botstate/webchat/conversations/(snip)'失败:[500]内部服务器错误       在Request._callback

var dotenv = require('dotenv');
dotenv.load();
var restify = require('restify');
var builder = require('botbuilder');

// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
    console.log('%s listening to %s', server.name, server.url); 
});

// Create chat connector for communicating with the Bot Framework Service
var connector = new builder.ChatConnector({
    appId: process.env.MicrosoftAppId,
    appPassword: process.env.MicrosoftAppPassword,
 });

 // Listen for messages from users 
 server.post('/api/messages', connector.listen());

 var bot = new builder.UniversalBot(connector, function (session, args) {
     console.log("Initialized the bot.");
     session.send("You said: %s", session.message.text);
  });

的package.json:

{
  "name": "heretohelp-app",
  "version": "1.0.0",
  "description": "Azure bot",
  "main": "app.js",
  "dependencies": {
    "applicationinsights": "^0.21.0",
    "botbuilder": "^3.9.1",
    "botbuilder-azure": "^3.0.2",
    "dotenv": "^4.0.0",
    "restify": "^5.2.0"
  },
  "devDependencies": {
    "request": "^2.81.0",
    "zip-folder": "^1.0.0"
  }
}

1 个答案:

答案 0 :(得分:0)

花费了大量的时间,但是一旦我发现了记录的错误,它就引发了一个关于Bot服务上周在原型状态环境中出现问题的线索:https://github.com/Microsoft/BotBuilder/issues/3463

我发现有一些死角试图让我自己的状态存储启动并运行但是这篇文章最终让我发挥了功能:https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-state-azure-table-storage

创建Azure存储帐户,在上面的文章中将其用于将其分层到您的bot中。打破与(显然仍然是破碎的)原型状态管理服务的链接。完成此步骤后,即可开始网络聊天。