与meteor的RiveScript
我想在Meteor项目中使用RiveScript。 我不能让事情运行。 我通过npm安装RiveScript,然后按照npm站点上的指南。
读取RiveScript模块并给它一个用户input的文件。
var RiveScript = require("RiveScript"); var bot; function loadingDone(files) { console.log("ok") } function loadingError(files, error) { console.log("error"); } Meteor.startup(function () { bot = new RiveScript({utf8: true}); bot.loadDirectory("brain", loadingDone, loadingError); bot.sortReplies(); }); Meteor.methods({ 'user-input': function (input) { return bot.reply("local-user", input); } });
我得到这个错误(在服务器上):
(STDERR)用户本地用户在一个空的主题名为“随机”
bot.reply()函数的返回消息是:
ERR:没有find默认主题“随机”!
RiveScript作者在这里。
你的代码中的一个问题是,在完成加载之后(在loadingDone
处理程序中)需要调用sortReplies()
函数。
var RiveScript = require("RiveScript"); var bot; function loadingDone(files) { console.log("ok"); bot.sortReplies(); } function loadingError(files, error) { console.log("error"); } Meteor.startup(function () { bot = new RiveScript({utf8: true}); bot.loadDirectory("brain", loadingDone, loadingError); }); Meteor.methods({ 'user-input': function (input) { return bot.reply("local-user", input); } });