!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-exp { fS apiToken = trim(loadTextFileMandatory(javaxSecretDir("telegram-bot-token.txt"))); 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.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); } 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(); } S response = "You typed " + n2(l(s), "character"); ret response; }