Messages et boutons

L'action « Envoyer un message » assemble la réponse du bot à partir de blocs et la dote de boutons inline, d'un menu principal et d'étapes de dialogue. C'est l'action la plus riche du constructeur — c'est ici que sont configurés les substitutions et les paramètres de référence des boutons.

Blocs de message

Un message est une séquence de blocs (bouton Ajouter un bloc) :

  • Texte — texte formaté (jusqu'à 4 096 caractères) avec substitutions et boutons.
  • Photo — image avec légende.
  • Fichier — document avec légende.
  • Délai — pause en secondes avant le bloc suivant.
  • IA — réponse générée par un modèle à partir d'un prompt.
  • Réaction — appel d'une autre réaction (en attendant éventuellement qu'elle soit traitée).

Les blocs peuvent être réordonnés par glisser-déposer. Le mode d'affichage des blocs est « Dans l'ordre » ou « Aléatoirement » (pour des réponses variées). Le menu principal du bot peut être laissé inchangé, défini de façon nouvelle ou masqué.

Options de bloc

Les blocs texte et média disposent d'options : épingler, sans son, protection contre le transfert, spoiler, sans aperçu des liens, suppression automatique après N secondes.

Boutons inline

Dans le bloc, les boutons se configurent (Texte du bouton + Type) :

  • Texte (callback) — bouton dont l'appui est traité côté bot.
  • Lien — ouvre une URL.
  • Application web — ouvre une Telegram Mini App. Voir Mini App.
  • Appel de réaction — l'appui déclenche une autre réaction.
  • Paiement et Notification — marqués comme « bientôt disponible ».

Style du bouton — normal, bleu (Primary), vert (Success) ou rouge (Danger). L'option « À usage unique » désactive le bouton après le premier appui.

Comportement lors de l'appui

Pour les boutons callback, vous configurez ce qui se passe lors de l'appui : remplacer le texte du bouton, remplacer le message (par du texte ou par le contenu d'une réaction liée), supprimer le message, ignorer answerCallbackQuery. L'appui peut également attribuer des étiquettes et définir des paramètres.

Paramètres dans le bouton (Carry)

Le bloc « Carry — instantané de données au moment de l'appui » attache au bouton un ensemble de valeurs figées au moment de l'envoi. Lors de l'appui, ces valeurs sont injectées dans le contexte — ainsi chaque bouton porte ses propres paramètres (par invocation), même lorsqu'il y en a beaucoup. La durée de vie du payload se définit en secondes. C'est la base des scénarios « choisir un article → commander précisément celui-ci ».

Boutons dynamiques

Le bloc « Boutons dynamiques depuis une liste » développe un tableau du ctx en boutons — un par élément. Vous configurez : la clé de la liste dans ctx, l'alias de l'élément, le nombre de boutons par ligne et le template du bouton (prend en charge {{alias.champ}}). Cela permet de construire des catalogues, des listes d'enregistrements et des menus issus d'une collection. En savoir plus — Boutons dynamiques et paramètres.

Réponse attendue (étapes de dialogue)

Un bloc texte peut attendre une réponse de l'utilisateur — cela transforme le message en étape de dialogue et met le scénario en pause jusqu'à la réponse. Plusieurs étapes successives forment un questionnaire ou un assistant directement dans le chat.

Type de contenu attendu

Le bot peut attendre un type de réponse précis : texte, choix parmi des options (boutons de choix), photo, vidéo, note vidéo, audio, document, vocal, localisation, contact, calendrier ou dé. Si l'utilisateur envoie un autre type, l'étape considère la réponse comme inadaptée.

Validation du texte

Pour une réponse textuelle, vous pouvez activer la validation du format : téléphone, e-mail, lien, date, heure ou correspondance à une formule (expression régulière). Une réponse ne passant pas la validation est rejetée, et le bot affiche un message d'erreur.

Sauvegarde de la réponse

La réponse de l'utilisateur peut être enregistrée dans un paramètre — elle devient alors disponible dans les substitutions sous {{param.clé}} et dans les conditions. Ainsi, les étapes de dialogue alimentent le mini-profil du client.

Erreurs, rappel et délai d'attente

  • Message en cas d'erreur de validation — ce qui s'affiche si la réponse ne passe pas la validation.
  • Rappel — ce qu'envoyer si l'utilisateur ne répond pas.
  • Annulation de l'attente par délai — au bout de combien de temps arrêter d'attendre ; en cas de dépassement, vous pouvez déclencher une réaction (par exemple, conclure doucement le questionnaire). Cette réaction apparaît dans les liens sous « Délai d'attente dépassé », et la réaction à la réponse elle-même apparaît sous « Réponse attendue ».

Substitutions

Le bouton « Substitutions » insère des variables : données de l'expéditeur ({{first_name}}, {{username}}, {{user_id}}), de l'événement ({{text}}, {{chat_id}}, {{datetime}}) et des paramètres ({{param.clé}}). Liste complète et formules — Substitutions et formules.

Pour aller plus loin