我创建了一个简单的聊天机器人,但是当它立即回答并且这是一个不好的效果时,我希望机器人能够进行打字效果,我尝试了一切,但我无法匹配聊天室中打字机的打字机代码,它不起作用或不起作用,你把一半的聊天机器人代码:
var messages = [],
lastUserMessage = "",
botMessage = "",
botName = 'alex', t
talking = true;
function chatbotResponse() {
talking = true;
botMessage = "Scusami non ho capito";
var hi = ['mhhh','ok','se lo dici tu.','come vuoi', 'ho fame', 'Mi sto pulendo il naso... Quello che non ho :(', 'Hai ragione', 'Sei un grande', 'aaahhhhhhh!!!', 'Chi sei?', 'mlmlml', 'haha', 'cavolo', 'wow', 'figo', 'come mai?', 'forse', 'Si', 'No', 'mi piace parlare con te <3', 'spacco bottilia ammazzo familia', 'ti amo', 'ti voglio bene', 'che canzone ti piace?', 'che cantante ti piace?', 'so che pensi che sia stupido ma non lo sono.', 'ma lo sarai tu.', 'va bene', 'bello', 'molto', 'molto bello', 'cosa ne pensi di facebook?', 'xD spacca!'];
botMessage = hi[Math.floor(Math.random()*(hi.length))];
var n = lastUserMessage.search(/\b(data|mi dici la giornata di oggi|che giorno è oggi)\b/i);
if (n !== -1) {
botMessage = "blabla";
}
显然在javascript for html中,帮助
答案 0 :(得分:1)
你可以做的一件事是将消息字符串拆分成一个数组,然后设置一个间隔,它从数组前面获取一个元素并在短暂延迟后打印出来,如下所示:
function slowType(message) {
message = message.split("");
const interval = setInterval(function() {
process.stdout.write(message.shift());
if (message.length === 0) clearInterval(interval);
}, 30);
}
这将每30ms打印一个字符。在Node中,如果您在浏览器中执行相同的操作,只需更新任何元素而不是process.stdout.write
。