Wiadomości i przyciski

Akcja „Wyślij wiadomość" składa odpowiedź bota z bloków i wyposaża ją w przyciski inline, menu główne oraz kroki dialogu. Jest to najbogatsza akcja konstruktora — tutaj podłącza się również podstawiania i parametry referencyjne przycisków.

Bloki wiadomości

Wiadomość to sekwencja bloków (przycisk Dodaj blok):

  • Tekst — sformatowany tekst (do 4096 znaków) z podstawieniami i przyciskami.
  • Zdjęcie — obraz z podpisem.
  • Plik — dokument z podpisem.
  • Opóźnienie — pauza w sekundach przed następnym blokiem.
  • AI — odpowiedź wygenerowana przez model na podstawie promptu.
  • Reakcja — wywołanie innej reakcji (opcjonalnie z oczekiwaniem na jej przetworzenie).

Bloki można przeciągać. Tryb wyświetlania bloków — „Po kolei" lub „Losowo" (dla wariantowych odpowiedzi). Menu główne bota można pozostawić bez zmian, ustawić nowe lub ukryć.

Opcje bloku

Bloki tekstowe i medialne mają flagi: przypnij, bez dźwięku, ochrona przed przekazywaniem, spoiler, bez podglądu linków, automatyczne usunięcie po N sekundach.

Przyciski inline

W bloku konfiguruje się przyciski (Tekst przycisku + Typ):

  • Tekst (callback) — przycisk z obsługą naciśnięcia po stronie bota.
  • Link — otwiera URL.
  • Aplikacja webowa — otwiera Telegram Mini App. Zob. Mini App.
  • Wywołaj reakcję — naciśnięcie uruchamia inną reakcję.
  • Przyjęcie płatności i Powiadomienie — oznaczone jako „wkrótce".

Styl przycisku — zwykły, niebieski (Primary), zielony (Success) lub czerwony (Danger). Flaga „Jednorazowy" spala przycisk po naciśnięciu.

Zachowanie po naciśnięciu

Dla przycisków callback konfiguruje się, co dzieje się po naciśnięciu: zamień tekst przycisku, zamień wiadomość (tekstem lub zawartością powiązanej reakcji), usuń wiadomość, pomiń answerCallbackQuery. Naciśnięcie może również ustawiać etykiety i ustawiać parametry.

Parametry w przycisku (Carry)

Blok „Carry — migawka danych w momencie naciśnięcia przycisku" dołącza do przycisku zestaw wartości zarejestrowanych w chwili wysyłki. Po naciśnięciu te wartości trafiają do kontekstu — każdy przycisk niesie własne parametry (per-invocation), nawet jeśli przycisków jest wiele. Ustawia się czas życia payload w sekundach. To podstawa scenariuszy „wybierz produkt → złóż zamówienie na ten konkretny".

Dynamiczne przyciski

Blok „Dynamiczne przyciski z listy" rozwija tablicę z ctx w przyciski — jeden na element. Konfiguruje się: klucz listy w ctx, alias elementu, liczba przycisków w wierszu i szablon przycisku (obsługuje {{alias.pole}}). W ten sposób buduje się katalogi, listy rekordów i menu z danych kolekcji. Szczegóły — Dynamiczne przyciski i parametry.

Oczekiwana odpowiedź (kroki dialogu)

Blok tekstowy może czekać na odpowiedź użytkownika — zamienia to wiadomość w krok dialogu i wstrzymuje scenariusz do czasu odpowiedzi. Kilka kroków z rzędu tworzy ankietę lub kreator bezpośrednio w czacie.

Typ oczekiwanej treści

Bot może oczekiwać konkretnego rodzaju odpowiedzi: tekstu, wyboru z wariantów (przyciski-warianty), zdjęcia, wideo, notatki wideo, audio, dokumentu, wiadomości głosowej, lokalizacji, kontaktu, kalendarza lub kostki. Jeśli użytkownik prześle inny typ, krok uzna odpowiedź za nieodpowiednią.

Weryfikacja tekstu

Dla odpowiedzi tekstowej można włączyć weryfikację formatu: telefon, e-mail, link, data, czas lub zgodność z formułą (wyrażenie regularne). Odpowiedź, która nie przeszła weryfikacji, jest odrzucana, a bot wyświetla komunikat o błędzie.

Zapis odpowiedzi

Odpowiedź użytkownika można zapisać w parametrze — po czym będzie dostępna w podstawieniach jako {{param.klucz}} i w warunkach. W ten sposób kroki dialogu budują mini-profil klienta.

Błędy, przypomnienie i timeout

  • Wiadomość przy błędzie weryfikacji — co wyświetlić, jeśli odpowiedź nie przeszła walidacji.
  • Przypomnienie — co wysłać, jeśli użytkownik milczy.
  • Zniesienie oczekiwania po timeoucie — po jakim czasie przestać czekać; przy timeoucie można uruchomić reakcję (np. miękko zakończyć ankietę). Ta reakcja jest widoczna w powiązaniach jako „Timeout oczekiwania", a reakcja na samą odpowiedź — jako „Oczekiwana odpowiedź".

Podstawiania

Przycisk „Podstawiania" wstawia zmienne: dane nadawcy ({{first_name}}, {{username}}, {{user_id}}), zdarzenia ({{text}}, {{chat_id}}, {{datetime}}) oraz parametry ({{param.klucz}}). Pełna lista i formuły — Podstawiania i formuły.

Co dalej