gpt4 book ai didi

node.js - RiveScript 与 Meteor

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:46 26 4
gpt4 key购买 nike

我想在 Meteor 项目中使用 RiveScript。但我无法让事情运行。我通过 npm 安装 RiveScript,然后按照 npm 站点上的指南进行操作。

读取 RiveScript 模块并为其提供用户输入的文件。

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) User local-user was in an empty topic named 'random'

bot.reply()函数的返回消息是:

ERR: No default topic 'random' was found!

最佳答案

这里是 RiveScript 作者。

代码中的一个问题是,需要在回复加载完成后调用 sortReplies() 函数(在 loadingDone 中)处理程序)。

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);
}
});

如果之后仍然遇到问题,请尝试确保 RiveScript 在 Meteor 初始化之前已完全加载回复集。查看您的代码,应该没问题,因为 bot 变量是全局变量,并且如果 user-input 处理程序没有立即被调用,机器人此时应该已准备就绪。

要尝试的另一件事是验证回复是否已加载;打开 Debug模式并查看它是否打印正在解析的 RiveScript 文件的内容;如果不是,则可能意味着它从错误的目录加载并且找不到任何要解析的 *.rive 文件。

关于node.js - RiveScript 与 Meteor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35959739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com