!7 sO listBot; concept Translation { S in, out; } p { listBot = hotwire(#1009226); db(); botIfMain(); } synchronized answer { // translations management if "add translation: * to *" { Translation t = uniq(Translation, in := $1); bool nu = t.in == null; cset(t, out := $2); ret nu ? "OK, saved" : "OK, overwritten"; } if "remove translation: *" { deleteConcepts(Translation, in := $1); ret "OK"; } // try translations for (Translation t) if (match(t.in, s, m)) { S translated = format(t.out, $1); print("Translated: " + s + " => " + translated); ret callAnswerMethod(listBot, translated); } // forward verbatim try answer callAnswerMethod(listBot, s); }