import * as Blockly from "blockly/core"; /** * Telegram Bot by re:edu */ Blockly.Arduino.sensebox_telegram = function (Block) { let token = Block.getFieldValue("telegram_token"); Blockly.Arduino.libraries_["library_senseBoxIO"] = "#include "; Blockly["Arduino"].libraries_[ "library_telegram" ] = `#include `; Blockly["Arduino"].functionNames_["WiFiSSLClient"] = "WiFiSSLClient client;"; Blockly["Arduino"].functionNames_[ "telegram_objects" ] = `#define BOTtoken "${token}" // your Bot Token (Get from Botfather) UniversalTelegramBot bot(BOTtoken, client);`; let code = ""; return code; }; Blockly.Arduino.sensebox_telegram_do = function (block) { var messageProcessing = Blockly.Arduino.statementToCode( block, "telegram_do", Blockly.Arduino.ORDER_ATOMIC ); Blockly.Arduino.definitions_[ "telegram_variables" ] = `int Bot_mtbs = 1000; //mean time between scan messages long Bot_lasttime; //last time messages' scan has been done`; Blockly.Arduino.loopCodeOnce_[ "sensebox_telegram_loop" ] = `if (millis() > Bot_lasttime + Bot_mtbs) { int numNewMessages = bot.getUpdates(bot.last_message_received + 1); while(numNewMessages) { for(int i=0; i