!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 (startsWith(s, "!greet ")) { s = dropPrefixTrim("!greet", s); greetBot.put(s, true); ret "ok"; } if (startsWith(s, "!nogreet ")) { s = dropPrefixTrim("!nogreet", s); greetBot.put(s, 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 = javaTok(loadSnippet(programID())); for (int i : jfindAll(tok, "startsWith(s, )")) cmds.add(trim(unquote(tok.get(i+8)))); for (int i : jfindAll(tok, "eq(s, )")) cmds.add(unquote(tok.get(i+8))); ret "Commands: " + join(" ", cmds); }