【问题标题】:Bot works locally but unresponsive on Bot ServiceBot 在本地工作,但在 Bot Service 上无响应
【发布时间】:2017-09-19 05:16:45
【问题描述】:

我已经设置了一个机器人,用于通过 VSTS 进行持续集成。该机器人在应用服务计划上运行(我最近才发现消费计划机器人作为函数运行。)我在云端有一个在消费上工作的机器人,但它限制了我的扩展能力。

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

节点版本 6.11.2。文件树包含 Bot Service 在初始部署时提供的所有文件,包括 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);
  });

包.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"
  }
}

【问题讨论】:

  • web.config 文件是否在您应用的根目录中?您使用的是哪个 node.js 版本?
  • 节点版本 6.11.2。是的,web.config 在那里(冗长但未经编辑 - 使用服务放置在我的初始 zip 文件中的版本进行持续部署。)
  • 你还在遇到这个问题吗?
  • 是的,我仍然遇到此问题,在解决此问题之前仍无法继续使用 Bot Service。我已经广泛审查了文档并用尽了明显的路径。
  • 当前行为是:bot 在本地运行,bot 未在 Bot 服务列表中显示问题,消息在 Web 控制台中显示为已发送,但未收到任何响应。使用日志流更新主 Q 时出现错误。

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


【解决方案1】:

花了很多时间进行挖掘,但是一旦我发现记录的错误,它就会引导我找到一个关于 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 存储帐户,用于在上面的文章中将其分层到您的机器人中。断开到(显然仍然断开的)原型状态管理服务的链接。完成此步骤后,即可进行网络聊天。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多