!7 !include once #1017511 // Telegram Bots static TelegramLongPollingBot bot; p { fS apiToken = telegramBotToken_mandatory(); ApiContextInitializer.init(); 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(); logQuotedWithDate(telegramFullUpdatesLogFile(), str(update)); if (msg != null && msg.hasText()) { S text = msg.getText(); print("Incoming text: " + text); logStructure(telegramLogFile(), litorderedmap( type := 'heard, date := localDateWithMilliseconds(), +text)); } } } }; new TelegramBotsApi().registerBot(bot); watchStructureLog_future(telegramBotToSendLog(), 100, voidfunc(Map map) { if (eq(map.get('action), 'send)) telegram_sendWithLogging(bot, telegram_chatID(), getString(map, 'text)); }); }