!7 static volatile long updateInterval = 20000; static volatile long versionCount, lastAutoCheck, lastChange; static volatile long checks; p { addToMultiPort("Version Count Bot."); updateLoop(); } static void updateLoop() { thread "update loop" { while (true) { checkVersionCount(); sleep(updateInterval); } } } static synchronized S answer(S s) { new Matches m; if (match3("check now", s)) checkVersionCount(); if (match3("num checks", s)) ret String.valueOf(checks); if (match3("get version count", s)) return versionCount == 0 ? "hold on, still loading" : format3("version count: *", versionCount); ret null; } static void checkVersionCount() { pcall { ++checks; long newCount = Long.parseLong(loadPageSilently("http://tinybrain.de:8080/tb-int/versioncount.php")); lastAutoCheck = now(); synchronized(main.class) { if (newCount != versionCount) { versionCount = newCount; lastChange = now(); print("Version count updated to " + versionCount + "."); } } } }