Podstawiania i formuły

Podstawiania to zmienne w formacie {{...}}, które są wstawiane do tekstów wiadomości, pól akcji i szablonów przycisków w momencie wyzwolenia reakcji. Nierozpoznane podstawiania pozostają bez zmian. Oprócz zmiennych dostępne są formuły do obliczeń. W wstawieniu zmiennej pomaga przycisk „Podstawiania" w edytorze wiadomości.

Dane nadawcy

  • {{first_name}}, {{last_name}} — imię i nazwisko.
  • {{username}}@username użytkownika.
  • {{user_id}} — numeryczne Telegram-ID.

Dane zdarzenia i czatu

  • {{text}} (alias {{received_message}}) — tekst przychodzącej wiadomości.
  • {{message_id}} (alias {{received_message_id}}) — ID przychodzącej wiadomości.
  • {{chat_id}}, {{chat_title}} (alias {{chat_name}}) — czat, w którym nastąpiło zdarzenie.
  • {{topic_id}}, {{topic_url}} — temat (dla forów).

Data i czas

  • {{date}} — data (RRRR-MM-DD), {{time}} — czas (GG:MM), {{datetime}} — data i czas.
  • Formatowanie: {{date:DD.MM.YYYY HH:mm}} — tokeny YYYY, YY, MM, DD, HH, mm, ss.

Parametry użytkownika

  • {{param.klucz}} (alias {{params.klucz}} lub {{recipient.klucz}}) — wartość parametru subskrybenta. Parametry są wypełniane akcjami „Zmień parametry", „Zapisz wiadomość" oraz odpowiedziami w dialogu.

Kontekst wykonania (ctx)

  • {{ctx.klucz}} (alias {{context.klucz}}) — tymczasowe wartości bieżącego uruchomienia: dane przychodzącego webhooka, wyniki akcji (żądanie webowe, zapytanie do źródła, AI), przywrócone dane przycisku (Carry), elementy pętli.
  • W pętli po liście element jest dostępny pod własnym aliasem, np. {{item.name}}.

Formuły

Konstrukcja {{= wyrażenie}} oblicza wyrażenie bezpośrednio w tekście. Ten sam silnik działa w akcji „Obliczenie" i w warunkach tabeli decyzji. W wyrażeniach można odwoływać się do parametrów i wartości ctx po nazwie, używać arytmetyki, porównań, logiki i dziesiątek funkcji (np. ROUND, IF, CONCAT).

Przykład: {{= ROUND(param.total * 0.9) }} — rabat 10% od kwoty z parametru.

Pełna składnia i lista funkcji — w sekcji Formuły.

HTML w podstawianiach

Wiadomości są wysyłane ze znacznikami HTML. Aby podstawiona wartość nie zepsuła układu (na przykład gdy nazwa użytkownika zawiera <), podstawiane wartości są domyślnie escapowane: znaki HTML zamieniają się w bezpieczny tekst. Znaczniki, które piszesz bezpośrednio w tekście reakcji (<b>, <a>, …), pozostają nietknięte.

Jeśli wartość sama zawiera gotowe znaczniki (na przykład ogłoszenie zapisane w parametrze z <b>...</b>) i chcesz wstawić ją bez zmian, poprzedź podstawianie znakiem &:

  • {{& key}} — surowe wstawienie dla podstawiań {{...}}.
  • {&user:key}, {&recipient:key}, {&global:key} — surowe wstawienie dla podstawiań namespace.

Prefiks & wyłącza escapowanie tylko dla tego jednego podstawiania — bierzesz na siebie odpowiedzialność za zaufanie do źródła wartości. Tokeny kontrolowane przez subskrybenta ({{first_name}}, …) lepiej zostawić escapowane.

Podczas importu botów z innych konstruktorów podstawiania namespace {user:…}/{recipient:…}/{global:…} są automatycznie migrowane do postaci surowej {&…} — zwykle zawierają wartości z gotowymi znacznikami, tak jak działało to w konstruktorze źródłowym.

Ważne o formacie

Podstawiania {{...}} działają w tekstach, podpisach, treściach żądań i szablonach przycisków. Nadawaj parametrom i kluczom ctx krótkie nazwy łacińskie (email, total, order_id) — wygodniej je wstawiać.

Co dalej