!7 // cmodule fails because of loadPageWithUserAgent module GBot > DynDiscordHopper { S myName = "GBot"; int defaultResults = 1; Set syntaxes = synchroSet(); @Override S answer(S input, Map map) { ret mapEachLine_tlft_nempties(input, s -> { new Matches m; s = simpleSpaces_noTok(s); if (swic_trim(s, myName + ":", m)) ret discord_google(m.rest(), results := defaultResults); if (swic_trim(myName + " new syntax:", m)) { S syntax = unquote(m.rest()); if (!endsWithEllipsis(syntax)) ret "Shouldn't this end with \"...\"? >> " + syntax; syntax = trim(dropSuffix("...", syntax)) + " ..."; if (!syntaxes.add(syntax)) ret "I already know that syntax!"; ret "Syntax added! You can try: " + myName + ": " + replaceSuffix("...", randomThingToGoogle(), syntax); } null; }); } S randomThingToGoogle() { ret "Why are penguins black and white?"; } }