gpt4 book ai didi

javascript - 我应该使用什么模式在 Node/JavaScript 中制作监听机器人?

转载 作者:搜寻专家 更新时间:2023-11-01 00:09:06 24 4
gpt4 key购买 nike

我目前正在使用 Node 制作我的第一个机器人,但我对如何将其变为现实感到有点困惑。问题是,我应该为这类内容使用的最佳模式和模式名称是什么?

基本上,一个人可以听到一个主题和说话者。

var test = person("ask_name","hallo person you are special");
console.log(test); // should return thanks!

var test = person("ask_name","hallo person you are dumb as the bird");
console.log(test); // should return i hate you!

function person(ability, body) {

console.log(ability,body);
var ability_name = "ability_" + ability;
console.log(ability_name,typeof ability_name); // ignore all of this, trying something
if (typeof ability_name) {};

// ability list array
var ability = [];

// Search for ability
// not done

var say_bad = function() {
this.listen_subject = 'ask_name';
this.listen_body = 'you are dumb';
return "i hate you!"
}

var say_good = function() {
this.listen_subject = 'ask_name';
this.listen_body = 'you are special';

return "thanks!"
}
}

抱歉,没有完成代码,但这是我能做的最远的事情了。

最佳答案

如果您谈论的是对话逻辑,责任链似乎是可行的方法。也就是说,这只适用于实现响应树。您可能有不同的需求。

可行的方法是:逻辑树中的所有 Node 都会有这个方法;

bool consider(utterence, history);

如果 Node 或其子 Node 之一已处理该情况,则此方法将返回 true。

我会实现几个主题检测器和一个通用的“我想不出一个好的答案”,以及一组专门的响应器。

逻辑是这样的:

(weatherDetector 考虑话语、历史)(确定主题是天气)(传递给处理天气对话的对象链)

(weatherDetector 考虑话语、历史)(确定主题不是天气)(传递给主题检测器链中的下一个)(genericFunnyResponder 考虑话语、历史)(随机选择一个古怪的答案)

关于javascript - 我应该使用什么模式在 Node/JavaScript 中制作监听机器人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11249562/

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