#include <Arduino.h>
#define WIFI_SSID "************"
#define WIFI_PASS "*************"
#define BOT_TOKEN "*******************"
#define CHAT_ID "******************"
#include <FastBot2.h>
FastBot2 bot;
void updateh(fb::Update& u) {
Serial.println("Обработчик вызван");
Serial.println(u.query().id());
if (u.isQuery()) {
Serial.println("NEW QUERY");
Serial.println(u.query().data());
// ответ на query
// bot.answerCallbackQuery(u.query().id());
//bot.answerCallbackQuery(u.query().id(), "query answered");
bot.answerCallbackQuery(u.query().id(), u.query().data(), true);
// реакция на query. Для удобства обработаем через хэш
switch (u.query().data().hash()) {
case "test"_h:
// кнопка kek1
Serial.println("включить светодиод");
break;
case "pest"_h:
// кнопка kek2
break;
case "lol"_h:
// кнопка kek3
break;
}
}
}
void setup() {
Serial.begin(9600);
Serial.println();
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:

oll::Sync, 4000); // умолч
//bot.setPollMode(fb:

oll::Async, 4000);
bot.setPollMode(fb:

oll::Long, 20000);
fb::Message msg("Show menu!", CHAT_ID);
fb::InlineMenu menu;
menu.addButton("BUTTON 1"); // если data не указана - она становится текстом на кнопке
menu.addButton("BUTTON 2", "test"); // callback data
menu.newRow();
menu.addButton("BUTTON 3", "
https://www.google.ru/"); // кнопка-ссылка
msg.setInlineMenu(menu); // подключить меню
// отправить
bot.sendMessage(msg);
// fb::Message msg("Show menu!", "id чата");
// fb::Menu menu;
// задаётся в CSV: горизонтальный разделитель ; вертикальный - \n
// menu.text = "kek 1 ; kek 2 ; kek 3 \n kek 4 ; kek 5";
// menu.resize = 1;
// menu.placeholder = "placeholder";
// msg.setMenu(menu); // подключить меню
// bot.sendMessage(msg);
}
void loop() {
// вызывать тикер в loop
bot.tick();
}