#include #include #include #include FastBot2 bot; #define WIFI_SSID "paranetm" #define WIFI_PASS "78515169" #define BOT_TOKEN "5363807811:AAHRz_rDIY5AV2NpEzS9jy0xXwjScAJyUOs" #define CHAT_ID "317081354" WiFiClient clientNats; NATS nats( &clientNats, "nats.paranet.ru", NATS_DEFAULT_PORT); void updateh(fb::Update &u) { Serial.println("NEW MESSAGE"); Serial.println(u.message().from().username()); Serial.println(u.message().text()); // #1 // отправить обратно в чат (эхо) bot.sendMessage(fb::Message(u.message().text(), u.message().chat().id())); // #2 // String text = u.message().text(); // text += " - ответ"; // bot.sendMessage(fb::Message(text, u.message().chat().id())); // #3 // fb::Message msg; // msg.text = u.message().text(); // msg.text += " - ответ"; // msg.chatID = u.message().chat().id(); // bot.sendMessage(msg); } void nats_blink_handler(NATS::msg msg) { // nats.publish(msg.reply, msg.data); String str = F("reply\n"); str += msg.reply; str += F("\ndata\n"); str += msg.data; Serial.println(str); // _telegram.send(str, _config.CHAT_ID); // int count = atoi(msg.data); // while (count-- > 0) // { // digitalWrite(LED_BUILTIN, LOW); // delay(100); // digitalWrite(LED_BUILTIN, HIGH); // delay(100); // } } void nats_on_connect() { nats.subscribe("switches/k1", nats_blink_handler); } void setup() { Serial.begin(115200); Serial.println(); Serial.println(); Serial.println(F("SYSTEM: HAL9000")); Serial.println(F("Module: test")); Serial.println("Connected"); WiFi.begin(WIFI_SSID, WIFI_PASS); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("Connected"); // ============ bot.attachUpdate(updateh); // подключить обработчик обновлений bot.setToken(F(BOT_TOKEN)); // установить токен // режим опроса обновлений. Самый быстрый - Long // особенности читай тут в самом низу // https://github.com/GyverLibs/FastBot2/blob/main/docs/3.start.md // bot.setPollMode(fb::Poll::Sync, 4000); // умолч // bot.setPollMode(fb::Poll::Async, 4000); bot.setPollMode(fb::Poll::Long, 60000); // поприветствуем админа bot.sendMessage(fb::Message("Hello!", CHAT_ID)); Serial.print("connect NATS..."); nats.on_connect = nats_on_connect; nats.connect(); Serial.println(" OK"); } void loop() { bot.tick(); }