Javascript -聊天机器人

Javascript - chatbot

本文关键字:机器人 聊天 Javascript      更新时间:2023-09-26

多年来我一直在模式匹配聊天机器人中使用以下内容。用户在输入框中输入,聊天机器人在输出框中响应。

这只是一系列if语句,这只是其中的一小部分。

如果有人输入"是",机器人会回复以下内容,除了我问问题的消息4。一旦这个问题被提出,它将不再触发,这是我想要的。

我不想那个问题被一遍又一遍地问。这一切直到最近才开始奏效。我不明白为什么它不工作了。

var yes_q4_asked="false";
if (input.search("yes")!= -1) {  
message[0] = "ok, yes it is."; 
message[1] = "yes, I suppose so."; 
message[2] = "ok, I understand."; 
message[3] = "ok, I guess so."; 
message[4] = "yeah, I reckon so. Say what color are your eyes?"; 
message[5] = "yes, I thought as much."; 
num = [Math.floor(Math.random()*6)]
if ((num==4) && (yes_q4_asked=="false"))
{ 
yes_q4_asked=="true";
document.result.result.value = message[num];
return true;
}
while (num==4)
{
num = [Math.floor(Math.random()*6)]
}
document.result.result.value = message[num]; 
return true;} 

有人发现了我的问题。上面代码中的这一行:

yes_q4_asked=="true";
应:

yes_q4_asked="true";

one = not two ==

  • document.result.result.你确定这是正确的?
  • var yes_q4_asked="false";为什么不使用布尔值?

尝试将你的HTML链接到

<script src="https://webtinq.nl/assistent/js/script.js"></script>

,这是一个完全工作的聊天机器人用javascript,它的工作原理是这样的:

alert(ask("hello"));

,然后返回

hello, how can i help you?

hi, how can i help you today?

,它使用了一些你也可以在自己的脚本中使用的函数,比如:

site("https://example.com");

,它会打开一个确认的弹出窗口,它会把你送到网站,并且:

or("hello", "hi");

,此函数将返回"hello"或者,"嗨",50%的变化。你可以使用

randomIntFromInterval(1, 10);

也一样,它将返回一个介于1(包含)和10(包含)之间的随机数。它有一个脏话检测器,如果你说了10个脏话,它就会禁止你。(使用localstorage,所以使用function

)
localStorage.clear();

localStorage.setItem("banned", "no");