sclass AI_ClocktimeBot > AttractorBot { Long now; public void run { say("I can resolve clock times for you"); } // CONFIG class Attractor1 > Attractor { int hour, minute; public bool matches(S s) { new Matches m; if (find3("* am", s, m) && isInteger($1)) { minute = 0; hour = parseInt($1); ret hour > 0; } if (find3("* pm", s, m) && isInteger($1)) { minute = 0; hour = parseInt($1)+12; ret hour > 0; } false; } public void run { say(formatInt(hour, 2) + ":" + formatInt(minute, 2)); } } *() { standardAttractors(new Attractor1); } }