Messaggi e pulsanti

L'azione «Invia messaggio» costruisce la risposta del bot usando blocchi e la arricchisce con pulsanti inline, il menu principale e i passi del dialogo. È l'azione più ricca del costruttore — qui si configurano anche le sostituzioni e i parametri referral dei pulsanti.

Blocchi del messaggio

Un messaggio è una sequenza di blocchi (pulsante Aggiungi blocco):

  • Testo — testo formattato (fino a 4096 caratteri) con sostituzioni e pulsanti.
  • Foto — immagine con didascalia.
  • File — documento con didascalia.
  • Ritardo — pausa in secondi prima del blocco successivo.
  • AI — risposta generata dal modello in base a un prompt.
  • Reazione — invoca un'altra reazione (opzionalmente attendendo la sua elaborazione).

I blocchi sono trascinabili. La modalità di visualizzazione dei blocchi può essere «In ordine» oppure «Casuale» (per risposte variabili). Il menu principale del bot può essere lasciato invariato, impostato con uno nuovo oppure nascosto.

Opzioni del blocco

I blocchi di testo e media hanno dei flag: fissa, senza audio, protezione dall'inoltro, spoiler, senza anteprima dei link, auto-elimina dopo N secondi.

Pulsanti inline

Nel blocco si configurano i pulsanti (Testo del pulsante + Tipo):

  • Testo (callback) — pulsante con gestione della pressione lato bot.
  • Link — apre un URL.
  • Web app — apre una Telegram Mini App. Vedi Mini App.
  • Invoca reazione — la pressione avvia un'altra reazione.
  • Pagamento e Notifica — contrassegnati come «prossimamente».

Stile del pulsante — normale, blu (Primary), verde (Success) o rosso (Danger). Il flag «Monouso» disattiva il pulsante dopo la pressione.

Comportamento alla pressione

Per i pulsanti callback puoi configurare cosa succede alla pressione: sostituisci il testo del pulsante, sostituisci il messaggio (con testo o con il contenuto di una reazione collegata), elimina il messaggio, salta answerCallbackQuery. La pressione può anche impostare etichette e definire parametri.

Parametri nel pulsante (Carry)

Il blocco «Carry — snapshot dei dati alla pressione del pulsante» associa al pulsante un insieme di valori fissati al momento dell'invio. Alla pressione, questi valori entrano nel contesto — così ogni pulsante porta i propri parametri (per-invocation), anche se i pulsanti sono molti. Si configura il tempo di vita del payload in secondi. È la base degli scenari «scegli il prodotto → procedi con quello specifico».

Pulsanti dinamici

Il blocco «Pulsanti dinamici da lista» espande un array da ctx in pulsanti — uno per elemento. Si configurano: la chiave della lista in ctx, l'alias dell'elemento, il numero di pulsanti per riga e il template del pulsante (supporta {{alias.campo}}). Così si costruiscono cataloghi, elenchi di record e menu da dati di raccolta. Per maggiori dettagli — Pulsanti dinamici e parametri.

Un blocco di testo può attendere una risposta dell'utente — questo trasforma il messaggio in un passo del dialogo e mette in pausa lo scenario fino alla risposta. Più passi consecutivi formano un questionario o un wizard direttamente in chat.

Tipo di contenuto atteso

Il bot può attendere un tipo specifico di risposta: testo, scelta tra opzioni (pulsanti-varianti), foto, video, video-nota, audio, documento, messaggio vocale, posizione, contatto, calendario o dado. Se l'utente invia un tipo diverso, il passo considera la risposta non valida.

Validazione del testo

Per una risposta testuale puoi abilitare la verifica del formato: telefono, e-mail, link, data, ora o corrispondenza a una formula (espressione regolare). Una risposta che non supera la validazione viene rifiutata e il bot mostra un messaggio di errore.

Salvataggio della risposta

La risposta dell'utente può essere salvata in un parametro — dopodiché è disponibile nelle sostituzioni come {{param.chiave}} e nelle condizioni. In questo modo i passi del dialogo costruiscono un mini-profilo del cliente.

Errori, promemoria e timeout

  • Messaggio di errore di validazione — cosa mostrare se la risposta non supera la verifica.
  • Promemoria — cosa inviare se l'utente non risponde.
  • Annullamento dell'attesa per timeout — dopo quanto tempo smettere di aspettare; allo scadere del timeout si può avviare una reazione (ad esempio, concludere il questionario). Questa reazione è visibile nei collegamenti come «Timeout di attesa», mentre la reazione alla risposta stessa appare come «Risposta attesa».

Sostituzioni

Il pulsante «Sostituzioni» inserisce variabili: dati del mittente ({{first_name}}, {{username}}, {{user_id}}), evento ({{text}}, {{chat_id}}, {{datetime}}) e parametri ({{param.chiave}}). Elenco completo e formule — Sostituzioni e formule.

Prossimi passi