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
- Podstawiania i formuły — zmienne w tekstach i przyciskach.
- Akcje — inne akcje reakcji.
- Mini App — przycisk aplikacji webowej.