!7 lib 1400113 // TelegramBots import org.telegram.telegrambots.*; import org.telegram.telegrambots.bots.*; import org.telegram.telegrambots.api.objects.Update; import org.telegram.telegrambots.api.objects.Message; import org.telegram.telegrambots.api.objects.Chat; import org.telegram.telegrambots.api.objects.User; import org.telegram.telegrambots.api.methods.send.SendMessage; p { fS apiToken = trim(loadTextFileMandatory(javaxSecretDir("telegram-bot-token.txt"))); botInit(); ApiContextInitializer.init(); TelegramLongPollingBot bot = new TelegramLongPollingBot { public S getBotUsername() { ret "HelloComputer_bot"; } public S getBotToken() { ret apiToken; } public void onUpdateReceived(Update update) { pcall { print("Got update! " + update); Message msg = update.getMessage(); //update.getChannelPost(); if (msg != null && msg.hasText()) { S text = msg.getText(); print("Incoming text: " + text); S response; try { response = makeResponse(text, msg); } catch e { printStackTrace(e); response = exceptionToStringShort(e); } response = rtrim(response); if (empty(response)) ret; Chat chat = msg.getChat(); new SendMessage sending; sending.setText(response); sending.setChatId(msg.getChatId()); sendMessage(sending); } } } }; new TelegramBotsApi api; api.registerBot(bot); } static S makeResponse(S s, Message msg) { if (eqic(s, "whoami")) { User from = msg.getFrom(); if (from == null) ret "idk"; ret msg.getFrom().getId() + " / " + msg.getFrom().getUserName(); } if (eqic(s, "fullmsg")) ret str(msg); //ret "You typed " + n2(l(s), "character"); ret lines(pnlEmits(r { ai_askForUnknownWordTypes(s) })); } svoid botInit { dm_useLocallyCopiedMechLists(); }