2016-10-27 5 views
2

Node.js Builderのbot-framework-emulatorとBot BuilderをLinuxで動作させるのに苦労しています。DockerのBotフレームワークエミュレータとNode.jsのBot Builderに関するその他の問題

Linux用のボットフレームワーク-エミュレータがモノを必要として、私はDockerfileを以下にドッカーの下でそれを実行することを決めた:

FROM mono:latest 
EXPOSE 9000 
COPY . BotFrameworkEmulator-Console/ 
CMD [ "mono", "./BotFrameworkEmulator-Console/BFEmulator.exe" ] 

私は(もポート9000を公開)コマンドでそれを始めている:

docker run -it --rm -p 9000:9000 bfemulator

これはうまく動作しているようです。そして、ここに最初の質問があります。 bot-framework-emulatorページ宣言:

MacとLinuxで開発している人々のために、monoを使用して動作するコンソール専用バージョンを作成しました。

ボットエミュのWindows版としてWebインターフェイスが含まれていないということですか? netstat -alはBFEmulator.exeがポート9000でリッスンしていますが、私がlocalhost:9000にアクセスしたときにdockerホストからアクセスできません。ドッキング用のコンテナの内部からでもアクセスできません。

2番目の問題はBFEmulatorのコンソールモードを使用することもできません。私のホスト上では、 "Microsoft Bot Framework"にデプロイしたときに正常に動作しているnodejsドッカーのbotの例を実行しています。

var restify = require('restify'); 
var builder = require('botbuilder'); 

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

//========================================================= 
// Bots Dialogs 
//========================================================= 

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

しかしBFEmulator、レポート上のボットサーバで実行されている:ここで

は、サンプルコードで

ChatConnector: message received. 
Error: Request to 'http://172.17.0.1:3978/v3/botstate/emulator/users/617d3bf8' failed: [404] Not Found 
    at Request._callback (/home/finch/dev/mapilary/mapilary-bot/node_modules/botbuilder/lib/bots/ChatConnector.js:413:46) 
    at Request.self.callback (/home/finch/dev/mapilary/mapilary-bot/node_modules/request/request.js:186:22) 
    at emitTwo (events.js:106:13) 
    at Request.emit (events.js:191:7) 
    at Request.<anonymous> (/home/finch/dev/mapilary/mapilary-bot/node_modules/request/request.js:1060:10) 
    at emitOne (events.js:96:13) 
    at Request.emit (events.js:188:7) 
    at IncomingMessage.<anonymous> (/home/finch/dev/mapilary/mapilary-bot/node_modules/request/request.js:980:12) 
    at IncomingMessage.g (events.js:291:16) 
    at emitNone (events.js:91:20) 

私はそのパスv3/botstate/emulator/usersは、ボットの例で宣言されていません理解しています。だから私の質問nodejsボットのビルダーでエミュレータを使用することは可能ですか?

答えて

0

BotFrameworkエミュレータは現在、オープンソースプロジェクトであり、OS X、Windows、Linuxでも同様に動作するはずです。あなたはソースコードhereをつかむことができます。

関連する問題