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();
}
])
])
);
あなたは、天才です!どうもありがとう!! :) – Anish