// TODO: wait for chat to come up static void simpleChatListen() { O chat = simpleChatBot(); if (chat == null) simpleChatListen_remote(); else { simpleChatListen_n = (int) call(chat, "size"); simpleChatNotifyMe(); } } static void simpleChatListen_remote() { thread "Chat Listener" { simpleChatListen_n = parseInt(loadPage("http://ai1.lol/" + simpleChatID() + "/raw/n")); while (licensed()) { pcall { L msgs = cast unstructure(htmldecode(loadPage("http://ai1.lol/" + simpleChatID() + "/raw/incremental?robo=1&a=" + simpleChatListen_n))); simpleChatListen_n += l(msgs); process(msgs); } sleep(simpleChatListen_delay); } } } static volatile int simpleChatListen_delay = 5000; static int simpleChatListen_n; static void simpleChatUpdated() { O chat = simpleChatBot(); int n2 = (int) call(chat, "size"); if (n2 > simpleChatListen_n) { L msgs = cast call(chat, "getMessages", simpleChatListen_n, n2); simpleChatListen_n = n2; process(msgs); } }