!7 !include #1007827 // Slack Bot sbool doSlack = true; static SelectBot greetBot; p { db(); greetBot = uniq(SelectBot); slackSpeed = 1000; if (doSlack) initSlackBot(); dediSay("Booting..."); dediSay("Yo, back online!"); if (doSlack) slackBotLoop(); } answer { s = trim(s); if (eq(s, "!data")) ret struct(greetBot); if (eq(s, "!reload")) { thread { sleepSeconds(2); restart(); } ret "krasser reload"; } if (startsWithWord(s, "!greet", m)) { greetBot.put($1, true); ret "ok"; } if (startsWithWord(s, "!nogreet", m)) { greetBot.put($1, false); ret "ok"; } if (eq(s, "!source")) ret progLink(); if (eq(s, "!help")) ret autoHelp(); //if "hi celestia" ret "hi!"; if (isTrue(greetBot.get(s))) ret s + " => hi!"; } sS autoHelp() { new L cmds; L tok = javaTokMe(); for (S pat : toLinesFullTrim([[ startsWithWord(s, , eq(s, ) ]])) for (int i : jfindAll(tok, pat)) cmds.add(trim(unquote(tok.get(i+8)))); ret "Commands: " + join(" ", cmds); }