【发布时间】:2017-12-22 22:47:21
【问题描述】:
我使用 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:
- git remote rm heroku
- git 初始化
- 创建了一个文件 .gitignore 并在其中 node_modules/
- git 添加。
- git commit -m "基本机器人设置完成"
- Procfile 并添加了代码 web: 节点 index.js
- heroku 创建
- heroku git:remote -a 应用名称
- git push heroku master
- heroku 打开
我还在 Bot 开发门户中通过消息传递端点更新到消息传递端点:http://appname.herokuapp.com/api/messages。
构建成功。如果我打开 http://appname.herokuapp.com/api/messages,我会看到 {"code":"MethodNotAllowedError","message":"GET is not allowed"} 并打开 {"code":"ResourceNotFound","message":"/ does not exist"}
我被困在这里。我想使用 Bot 注册门户提供的 I Frame 在页面上显示聊天机器人。如何从这里开始并使机器人工作?
【问题讨论】:
-
预期会出现 get 错误,因为端点是 POST 路由。注册门户中的聊天是否有效?
-
您的服务器是否有有效的 SSL 证书?您的消息端点必须通过具有有效证书的 HTTPS 公开。
标签: node.js git heroku github botframework