!752 static class OtherBot { S url, name; Source source; long lastHeardFrom; S computerID; S publicKey; } static new L others; p { load("others"); } synchronized answer { if "count other bots" ret lstr(others); if "list other bots" ret structure(others); if "add other bot *" { S url = m.unq(0); assertTrue("URL expected", isURL(url)); if (containsWhere(others, "url", url)) ret "I know that one already"; new OtherBot bot; bot.url = url; others.add(bot); save("others"); ret "OK, URL added to list."; } }