Microsoft Bot Framework错误 - InternalServerError {“消息”:“发生了错误。” }

时间:2016-11-17 13:44:19

标签: node.js azure botframework

当我将我的机器人代码推到azure时,它成功了。我使用node app.js

将它推到azure之前测试了它

我使用正确的凭据更新了我的web.config文件

var builder = require('botbuilder');

var connector = new builder.ConsoleConnector().listen();
var bot = new builder.UniversalBot(connector);
bot.dialog('/', [
    function (session) {
        builder.Prompts.text(session, 'Hi! What is your name?');
    },
    function (session, results) {
        session.send('Hello %s!', results.response);
    }
]);

当我查看azure日志时,我收到以下消息

2016-11-17T13:31:12.880 Executing: 'Functions.messages' - Reason: 'This function was programmatically called via the host APIs.'
2016-11-17T13:31:12.880 Function started (Id=22f4fffb-ad0d-4b54-b86f-dd895c098910)
2016-11-17T13:31:12.880 Function completed (Failure, Id=22f4fffb-ad0d-4b54-b86f-dd895c098910)
2016-11-17T13:31:12.880 A ScriptHost error has occurred
2016-11-17T13:31:12.880 Error: Implement me. Unknown stdin file type!
    at process.getStdin [as stdin] (internal/process/stdio.js:82:15)
    at ConsoleConnector.listen (D:\home\site\wwwroot\messages\node_modules\botbuilder\lib\bots\ConsoleConnector.js:11:60)
    at Object.<anonymous> (D:\home\site\wwwroot\messages\index.js:3:48)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
2016-11-17T13:31:12.880 Function started (Id=22f4fffb-ad0d-4b54-b86f-dd895c098910)
2016-11-17T13:31:12.880 Function completed (Failure, Id=22f4fffb-ad0d-4b54-b86f-dd895c098910)
2016-11-17T13:31:12.895 Exception while executing function: Functions.messages. mscorlib: Error: Implement me. Unknown stdin file type!
    at process.getStdin [as stdin] (internal/process/stdio.js:82:15)
    at ConsoleConnector.listen (D:\home\site\wwwroot\messages\node_modules\botbuilder\lib\bots\ConsoleConnector.js:11:60)
    at Object.<anonymous> (D:\home\site\wwwroot\messages\index.js:3:48)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19).

我不知道这是什么或者这是怎么发生的。

任何帮助将不胜感激,

由于

1 个答案:

答案 0 :(得分:1)

我通过以下步骤成功将Microsoft Bot Framework部署到Azure App Service。你能试试吗?

1.一旦注册了机器人,请在Azure门户中设置必要的环境变量。

enter image description here

2.使用npm获取Bot BuilderRestify模块。

npm install --save botbuilder
npm install --save restify

3.制作一个名为app.js的文件,用几行代码打个招呼。

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 bot
var connector = new builder.ChatConnector({
    appId: process.env.MICROSOFT_APP_ID,
    appPassword: process.env.MICROSOFT_APP_PASSWORD
});
var bot = new builder.UniversalBot(connector);
server.post('/api/messages', connector.listen());

bot.dialog('/', function (session) {
    session.send("Hello World");
});

4.转到Microsoft Bot Framework门户并编辑您的机器人详细信息。使用从Azure部署生成的端点,并且不要忘记在使用Bot应用程序模板时,您需要使用/api/messages处的端点路径扩展您粘贴的URL。您还应该使用HTTPS而不是HTTP为URL添加前缀。 enter image description here 5.一旦完成了这里的步骤,您就可以测试并验证Bot Framework是否可以与Bot的Web服务进行通信。

enter image description here

希望这有帮助。

相关问题