2017-05-24 19 views
0

ボットフレームワークを使用して簡単なチャットボットを作成しましたが、今はボットのチャット履歴を自分のデバイスにローカルに保存しようとしています。私はfsを使用して、ユーザーが入力した値/引数をファイルに保存しました。例:名前。Microsoft Bot Framework:チャットの履歴を保存する

ただし、チャットの全体、つまりユーザーが送信するメッセージとボットが返信するメッセージを含めたいとします。私はfs.appendFile(filename, session, function(err)を使用してこれらのダイアログをキャプチャしようとしましたが、ファイルには[Object object]と表示されます。

チャットの履歴全体をキャプチャするにはどうすればよいですか?または、少なくともユーザーが送信したものは何ですか?

私のコードサンプル:

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

server.get('/', restify.serveStatic({ 
directory: __dirname, 
default: '/index.html' 
})); 


var fs = require("fs"); 
var filename = 'chathistory.json'; 

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

var test="test"; 

bot.dialog('/', new builder.IntentDialog() 
    .matchesAny([/hi/i, /hello/i], [ 
     function (session) { 
      session.send('Hi, I am your chatbot.'); 
    session.beginDialog('/step2') 
    }, 

    bot.dialog('/step2', [ 
    function (session) { 
    builder.Prompts.text(session,'What is your name?'); 
    }, 
    function(session, args, next) { 
     test=" , " +args.response; 
     fs.appendFile(filename, test, function(err){ 
     }); 
     session.send('Hello, ' + args.response + '. How may I help you today?'); 
     name = args.response; 
     session.endConversation(); 
    } 
    ]) 
    ]) 
); 

答えて

3

一つの方法は、ユーザー入力をキャプチャすると、ボット入力がmiddlewareを使用しています。ログのシナリオが表示されているmiddlewareLoggingサンプルを見てください。

+1

あなたは、天才です!どうもありがとう!! :) – Anish

関連する問題