!7 set flag NoAI. sclass Katze extends DynModule { transient O catModule; transient S imageID = #1101205; JComponent visualize() { ret withBottomMargin(centerAndSouth( centerPart(), buttons())); } JComponent centerPart() { ret jimage(imageID); } JComponent buttons() { ret vstack2( withMargin(jcenteredbutton("Start Listening", rThread startListening)), jcenteredbutton("Stop Listening", rThread stopListening)); } bool loadCat() { if (catModule == null && !hasBot("Chrome Speech.")) ret true with actuallyLoadCat(); false; } void actuallyLoadCat { catModule = runDependent(#1013936); } void listenJustOnce { print('listenJustOnce); temp enter(); loadCat(); send("Chrome Speech.", "just once"); } void startListening { print('startListening); temp enter(); if (!loadCat()) send("Chrome Speech.", "start recognition"); } void stopListening { temp enter(); sendOpt("Chrome Speech.", "stop recognition"); } start { dm_putRecognizedSpeechInAIBar(); } void cleanMeUp_katze { cleanUp(catModule); catModule = null; } }