Warning: session_start(): open(/var/lib/php/sessions/sess_0ifnm1gnqbmimfrh8i7e0iqr48, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
static long attnTimeout = 60000;
sS denkmodulID = #1013938;
sS friendlySound = #1009564; //#1013870
sS angrySound = #1013884;
sS defaultText = "Sorry";
sS reKatze = "Katze|Katze|Katja|Qatar|Cookson|Captain|Cat|Kettle|Cut|Kurt|Computer";
static JTextArea ta;
static IVar text;
static Class recognizer;
static Class denkmodul;
static long attention, skipTill;
sbool fullAttention;
p-subst {
autoRestart(60.0);
recognizer = hotwire(#1009816);
denkmodul = run(denkmodulID);
//autoRestartModule('denkmodul, denkmodulID, true);
text = persistentVar("Text");
ta = bindTextAreaToVar(text, jwordwraptextarea());
showFrame(fontSize(20, ta));
moveCaretToEnd(ta);
set(recognizer, onUtterance := voidfunc(S utterance) {
if (match("turn off", utterance))
call(recognizer, 'stopRecognition);
appendToTextAreaAndMoveCaret(ta, utterance + "\n");
callAnswerMethodVerbose(utterance);
});
//set(recognizer, startRecognition := true);
callMain(recognizer);
}
sS answer(fS s) {
if (sysNow() < skipTill) null;
if (sysNow() >= attention+attnTimeout) attnOff();
if (attention != 0) {
attnOff();
if "nichts|nix|vergiss es|nothing|forget it" {
playWAVSnippet(#1013870);
}
try answer denk(s);
}
if (regexpICFind(reKatze, s)) {
fullAttention = true;
S rest = regexpICLastGroup("(" + reKatze + ")(.*)", s);
if (startsWithLetter(rest)) rest = trim(substring(rest, lastIndexOf(rest, ' ')));
if (nempty(rest))
try answer denk(rest);
else {
if (isShit(s))
playMP3Snippet(angrySound);
else
playMP3Snippet(friendlySound);
attention = sysNow();
fullAttention = true;
print("attn");
ret "Yo";
}
}
L g = regexpGetGroups("(-?\\d+) x (-?\\d+)$", s);
if (g != null)
ret gudrun(str(parseLong(first(g))*parseLong(second(g))));
null;
}
sbool isShit(S s) {
ret regexpICFind("scheiß", s);
}
sS denk(S s) {
print(">> " + s);
S a = "Fehler";
pcall {
a = denk2(s);
}
if (empty(a)) {
if (!fullAttention) null;
a = defaultText;
} else {
attention = sysNow(); fullAttention = false;
print("half attn");
}
skipTill = sysNow()+60000;
try {
gudrun(a);
} finally {
skipTill = sysNow()+3000;
}
ret a;
}
sS denk2(S s) {
if "neu" {
upgradeModuleVar('denkmodul, denkmodulID, true);
ret "OK";
}
ret callAnswerFunction(denkmodul, s);
}
svoid attnOff {
if (attention == 0) ret;
attention = 0;
print("attn off");
}