我已经设置了一个通过 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"
}
}