static S botAutoHelp() { ret "Commands: " + join(" ", botAutoHelp_commands()); } // crude interception possibility if you override botAutoHelp_commands // until JavaX supports replacing functions static L _botAutoHelp_commands() { new L cmds; L tok = javaTokMe(); for (S pat : toLinesFullTrim([[ startsWith(s, startsWithWord(s, , eq(s, ) ]])) for (int i : jfindAll(tok, pat)) cmds.add(trim(unquote(tok.get(i+8)))); ret cmds; }