node.js - Heroku 托管 Microsoft Bot Framework 聊天机器人无法正常工作

标签 node.js git heroku github botframework

我使用 Microsoft Bot Framework 制作了一个聊天机器人。该机器人在模拟器上完美运行。不过我想将其托管到 Heroku 上。

我的app.js代码:

var builder = require('botbuilder');
var restify = require('restify');
var apiairecognizer = require('api-ai-recognizer');
var request = require('request');

//=========================================================
// Bot Setup
//=========================================================

// 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: "xxx", /*changed*/
    appPassword: "xxx" /*changed*/
});

server.post('/api/messages', connector.listen());
var bot = new builder.UniversalBot(connector);


var recognizer = new apiairecognizer("xxx");
var intents = new builder.IntentDialog({
         recognizers: [recognizer]
});

bot.dialog('/',intents);

intents.matches('Intro',function(session, args){
    var fulfillment = builder.EntityRecognizer.findEntity(args.entities, 'fulfillment');
    if (fulfillment){
        var speech = fulfillment.entity;
        session.send(speech);
    }else{
        session.send('Sorry...not sure how to respond to that');
    }
});

intents.matches('Default Fallback Intent',function(session, args){
     var fulfillment = builder.EntityRecognizer.findEntity(args.entities, 'fulfillment');
    if (fulfillment){
        var speech = fulfillment.entity;
        session.send(speech);
    }else{
        session.send('Sorry...not sure how to respond to that');
    }
});

我尝试了以下命令将其推送到 Heroku:

  1. git 远程 rm heroku
  2. git 初始化
  3. 创建了一个文件 .gitignore 并在其中添加了 node_modules/
  4. git 添加。
  5. git commit -m“基 native 器人设置完成”
  6. Procfile并添加了代码 网页: Node index.js
  7. heroku 创建
  8. heroku git:remote -应用程序名称
  9. git push heroku master
  10. heroku 打开

我还通过消息传送端点更新为消息传送端点:http://appname.herokuapp.com/api/messages在机器人开发门户中。

构建成功。如果我打开http://appname.herokuapp.com/api/messages ,我看到 {"code":"MethodNotAllowedError","message":"GET is not allowed"} 并在打开时 {"code":"ResourceNotFound","message":"/不存在"}

我被困在这里了。我想使用机器人注册门户提供的 I Frame 在页面上显示聊天机器人。如何从这里开始并使机器人正常工作?

最佳答案

我也遇到了同样的问题,按照这个解决了。 在应用程序文件夹中打开terminal/powershell并输入以下内容

heroku 配置:设置 MICROSOFT_APP_ID=YOUR_APP_ID MICROSOFT_APP_PASSWORD=YOUR_APP_PASSWORD

关于node.js - Heroku 托管 Microsoft Bot Framework 聊天机器人无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45160477/

相关文章:

javascript - 如何在一台服务器上部署nodejs api和vuejs app

git - 是否可以在不更改当前提交中的文件的情况下修改父提交?

objective-c - Xcode Git 与 Google Drive/Dropbox 的问题

Heroku pgAdmin4 隐藏我不允许访问的数据库

node.js - Heroku + Cloudflare 完全免费的 SSL

javascript - Jade 没有正确渲染流体宽度等距的 div

node.js - 我想在nodejs中按顺序同步执行下面的代码

javascript - js中如何分离数组

Git 如何从文件中删除冲突标记?

heroku - 如何在 Play 2.0 (Scala) 中使用 DATABSE_URL 进行与 PostgreSQL 9.1 和 Heroku 的本地连接?