Aller au contenu principal

Service client

Boutons d'un bot Telegram : clavier de réponse, boutons inline et numéro ou position en un seul geste

Un bot Telegram dispose de deux sortes de boutons, qui se comportent très différemment. Le clavier de réponse envoie du texte et peut demander un numéro de téléphone ou une position ; les boutons inline s'affichent sous un message et ouvrent un lien ou déclenchent une action. Quand utiliser l'un ou l'autre, et comment les configurer dans MonoChat.

Équipe MonoChat Mis à jour: 9 min de lecture

Sur cette page
  1. Les deux types de boutons en un coup d’œil
  2. Le clavier de réponse : des réponses comme tapées par le client
  3. Les boutons inline : des actions sous un message
  4. Lequel choisir
  5. Créer des boutons Telegram dans MonoChat
  6. Exemple : le bot de livraison d’une pharmacie
  7. Les erreurs à éviter
  8. Sources

Ce sont les boutons qui font qu’un bot Telegram ressemble à un bon vendeur ou à un formulaire. Un client qui peut appuyer sur « Suivre ma commande » ou « Partager mon numéro » répond en une seconde ; celui qui doit saisir un numéro de commande, un numéro de téléphone au bon format ou une adresse complète abandonne souvent en route.

Telegram propose aux bots deux sortes de boutons très différentes, et les confondre est la première cause d’un bot maladroit. Ce guide explique le clavier de réponse et les boutons inline, montre comment demander un numéro ou une position en un seul geste, et comment tout mettre en place dans MonoChat. Telegram revendique plus d’un milliard d’utilisateurs actifs : votre bot est souvent le premier contact d’un client avec votre entreprise.

Les deux types de boutons en un coup d’œil

Clavier de réponseClavier inline
Où il s’afficheÀ la place du clavier du client, sous la zone de saisieSous un message précis
Ce que fait un appuiEnvoie le texte du bouton dans la conversation, comme s’il était tapéEnvoie des données invisibles au bot, ouvre un lien ou une Mini App ; rien n’est publié
Peut demander numéro ou positionOui (request_contact, request_location), en conversation privéeNon
Après l’appuiPeut se masquer (one_time_keyboard)Reste sous le message
Idéal pourLes réponses à garder dans la conversation : menu, Oui/Non, partage du contact ou de la positionLes actions liées à un message : liens, confirmer/annuler, choix dans une fiche

Dans la Bot API, il s’agit de ReplyKeyboardMarkup avec des objets KeyboardButton, et d’InlineKeyboardMarkup avec des objets InlineKeyboardButton. Le guide des bots de Telegram le dit simplement : contrairement au clavier de réponse, un bouton inline n’envoie aucun message dans la conversation.

Le clavier de réponse : des réponses comme tapées par le client

Le clavier de réponse remplace le clavier de lettres par une grille de vos boutons. Quand le client appuie sur « Horaires », le texte « Horaires » apparaît dans la conversation, envoyé par lui, et votre bot le lit comme n’importe quel message. C’est idéal pour les menus et les réponses courtes : l’historique reste lisible, et l’agent qui reprend la conversation voit exactement le choix du client.

Quelques options règlent son comportement :

  • resize_keyboard adapte la hauteur du clavier à ses boutons. Sans elle, deux boutons occupent toute la hauteur d’un clavier.
  • one_time_keyboard masque le clavier dès qu’il a servi. Il reste accessible via une icône dans la zone de saisie, mais le client retrouve ses lettres.
  • input_field_placeholder affiche une indication de 1 à 64 caractères dans la zone de saisie, par exemple « Choisissez une option ».
  • is_persistent garde les boutons visibles même lorsque le clavier normal est masqué.

Comme l’appui envoie du texte brut, le libellé du bouton sert aussi de clé de routage. Gardez-le court, unique et stable : si « Suivi de commande » devient « Où est mon colis ? », mettez aussi à jour la condition du flux qui l’attend.

Demander le numéro avec « Partager le contact »

Un bot Telegram ne voit jamais seul le numéro d’un client. Le seul moyen est de le demander : un bouton de clavier avec request_contact à true. Quand le client appuie, Telegram envoie son numéro au bot sous forme de contact. La Bot API précise que cela ne fonctionne qu’en conversation privée.

C’est bien plus fiable que « merci de saisir votre numéro » : pas d’indicatif oublié, pas d’espaces au mauvais endroit, et c’est le numéro du compte Telegram. C’est la première étape naturelle pour rattacher le client à une commande, un rendez-vous ou une fiche CRM.

Deux réflexes rendent le client plus enclin à appuyer :

  1. Dites pourquoi. « Partagez votre numéro pour que nous retrouvions votre rendez-vous » fonctionne mieux qu’un bouton seul. Le numéro est une donnée personnelle au sens du RGPD : en indiquer la finalité fait partie de l’information due au client.
  2. Prévoyez une alternative. Certains ne partageront pas leur numéro. Acceptez aussi une référence de réservation ou un e-mail, ou passez la main à un conseiller.

Demander la position

request_location fonctionne de la même façon : un appui envoie la position actuelle du client sous forme de message de position. Utile pour une adresse de livraison, l’agence la plus proche, l’envoi d’un technicien ou pour vérifier qu’une adresse est dans votre zone. Là aussi, uniquement en conversation privée, et c’est le client qui décide.

Les boutons inline : des actions sous un message

Les boutons inline appartiennent à un message ; ils conviennent quand le choix porte sur ce message : « Confirmer » et « Changer l’heure » sous un récapitulatif de rendez-vous, « Voir la carte » sous l’accueil d’un restaurant, « Payer » sous une facture. Trois types servent le plus :

  • Boutons de callback : ils envoient au bot jusqu’à 64 octets de données (callback_data). Rien n’apparaît dans la conversation ; le bot décide de la suite.
  • Boutons URL : ils ouvrent une page web, comme votre grille tarifaire ou le suivi Colissimo.
  • Boutons Web App : ils ouvrent une Mini App dans Telegram, par exemple un formulaire de réservation ou un catalogue.

Un détail change tout. Après un appui sur un bouton de callback, Telegram affiche un indicateur de progression tant que le bot n’a pas appelé answerCallbackQuery, et demande aux bots de le faire même sans rien afficher. Un bot qui l’oublie laisse le bouton « en chargement », et le client appuie encore et encore.

À propos des comptes Telegram Business. Si vous reliez un bot à un compte Telegram Business pour qu’il réponde dans vos conversations personnelles, Telegram ne prend pas en charge le clavier de réponse ni les boutons Web App dans les messages envoyés au nom de ce compte. Ils fonctionnent dans la conversation avec le bot lui-même, qui est la façon dont un bot connecté par son jeton BotFather, comme dans MonoChat, parle aux clients.

Lequel choisir

SituationÀ utiliser
Menu principal : « Tarifs », « Horaires », « Parler à un conseiller »Clavier de réponse (réponses rapides)
Oui/Non, notes, choix d’un créneauClavier de réponse masqué après un appui
Obtenir le numéro du clientBouton de partage du contact
Adresse de livraison ou agence la plus procheBouton d’envoi de la position
Confirmer ou annuler le rendez-vous de ce messageBoutons inline de callback
Ouvrir un site, un suivi de colis ou une page de paiementBouton inline URL
Un formulaire ou un catalogue dans TelegramBouton inline Web App

Règle simple : si la réponse doit rester visible dans l’échange, clavier de réponse. Si le bouton agit sur un message ou sort de Telegram, bouton inline.

Créer des boutons Telegram dans MonoChat

MonoChat connecte votre bot avec son jeton BotFather (voir créer un bot et obtenir son jeton). Depuis la version 3.8.41 (1er novembre 2026), MonoChat envoie les réponses rapides, les demandes de position et les demandes de coordonnées sous forme de boutons du clavier de réponse Telegram, affiche l’en-tête image, vidéo ou document des messages à boutons, répond à chaque appui pour qu’aucun bouton ne reste en chargement, et peut afficher l’indicateur de saisie.

1. Réponses rapides (clavier de réponse). Dans un flux, ajoutez un nœud Envoyer un message (ou créez l’un de vos Messages courts) et choisissez le type Texte. Rédigez le texte, activez Réponse rapide et, sous Boutons, cliquez sur Ajouter pour chaque bouton. Réglez Type sur text et saisissez le libellé dans chaque langue servie. Telegram affiche les boutons sous la zone de saisie, deux par ligne, à la bonne taille. Les messages image, vidéo et document acceptent aussi des réponses rapides.

2. Demandez le numéro. Choisissez le type Demande de coordonnées et rédigez le message, par exemple « Pour retrouver votre commande, merci de partager votre numéro. » Telegram affiche un bouton Partager les coordonnées dans la langue du client. Il disparaît après un appui, et le numéro arrive comme contact. Une réponse rapide de type user-phone-number fait la même chose dans un menu.

3. Demandez la position. Choisissez le type Demande de position. Le client voit un bouton Envoyer la position, et sa position arrive comme message de position.

4. Boutons inline. Choisissez le type Bouton. Sélectionnez un Type d’en-tête pour placer une image, une vidéo ou un document en haut, rédigez le texte (jusqu’à 1 024 caractères), puis ajoutez les boutons : postback pour un callback, web-url pour un lien et app-url pour une Mini App. Les libellés font 20 caractères au plus. Un appui sur postback arrive dans la conversation comme Réponse à un bouton.

5. Orientez selon la réponse. Démarrez le flux bot sur Nouveau message reçu et activez Bot ?. Après la question, ajoutez un nœud Si avec une condition Texte du message pour les réponses rapides, ou Type de message pour distinguer un contact ou une position partagés d’un texte saisi. Le client qui choisit « Parler à un conseiller » passe par un nœud Attribuer la conversation.

6. Montrez que vous écrivez. Dans les paramètres du canal, activez Activer l’indicateur de saisie. Le client voit « en train d’écrire » pendant qu’un agent tape et pendant qu’un nœud IA du flux prépare sa réponse ; pendant l’envoi d’une image ou d’un document, Telegram indique qu’une photo ou un fichier est en cours d’envoi.

Chaque conversation, chaque appui et chaque contact partagé arrive dans la même boîte de réception d’équipe que vos échanges WhatsApp, Instagram et Messenger : l’agent qui reprend voit ce que le client a choisi.

Exemple : le bot de livraison d’une pharmacie

Client : /start Bot : Bonjour, ici la Pharmacie du Parc à Lyon. Que pouvons-nous faire pour vous ? (boutons : Livraison à domicile · Horaires · Parler au pharmacien) Client : Livraison à domicile Bot : Merci de partager votre numéro pour retrouver votre ordonnance. (bouton : Partager les coordonnées) Client : (partage son contact) Bot : Merci. Où devons-nous livrer ? (bouton : Envoyer la position) Client : (partage sa position) Bot : Nous livrons cette adresse aujourd’hui entre 16 h et 18 h. (boutons inline : Confirmer · Changer l’heure)

Trois claviers de réponse recueillent les réponses dans la conversation, un clavier inline fait valider le récapitulatif. « Parler au pharmacien » mène directement à une personne.

Les erreurs à éviter

  • Trop de boutons. Deux à six choix par clavier se lisent bien sur mobile. Les menus plus longs vont dans une Mini App ou une seconde étape.
  • Demander le numéro d’emblée. Demandez-le quand le client sait pourquoi.
  • Un clavier jamais masqué. Le client croit qu’il ne peut plus écrire. Utilisez un clavier à usage unique pour les questions ponctuelles.
  • Des boutons muets. Chaque appui mérite une réponse, même « Bien reçu, un instant ».
  • Pas d’accès à un humain. Gardez toujours « Parler à un conseiller ». Notre guide Telegram pour les entreprises traite du transfert et des horaires.

Si vous utilisez aussi WhatsApp, les principes restent, avec d’autres limites : voir notre guide des messages interactifs WhatsApp. Pour ajouter des réponses IA entre les boutons, lisez créer un bot IA sur Telegram.

Commencez gratuitement sur app.monochat.ai et connectez votre bot Telegram en quelques minutes.

Sources

FAQ

Questions fréquentes

Quelle différence entre clavier de réponse et clavier inline sur Telegram ?

Le clavier de réponse remplace le clavier habituel du client par vos boutons, et un appui envoie le texte du bouton dans la conversation comme si le client l'avait tapé. Le clavier inline est attaché sous un message ; un appui envoie des données invisibles au bot ou ouvre un lien ou une Mini App, sans nouveau message dans la conversation.

Comment un bot Telegram obtient-il le numéro de téléphone d'un client ?

Uniquement si le client le partage. Vous envoyez un bouton de clavier avec request_contact ; quand le client appuie, Telegram transmet son numéro au bot sous forme de contact. Dans MonoChat, choisissez le type de message Demande de coordonnées : le client voit un bouton Partager les coordonnées dans sa langue.

Un bouton inline peut-il demander un numéro ou une position ?

Non. Dans la Bot API, request_contact et request_location n'existent que sur les boutons du clavier de réponse (KeyboardButton), et seulement dans les conversations privées avec le bot. Les boutons inline envoient des données de callback, ouvrent une URL ou lancent une Mini App.

Pourquoi un bouton Telegram reste-t-il en chargement ?

Après un appui sur un bouton de callback, Telegram affiche un indicateur de progression jusqu'à ce que le bot appelle answerCallbackQuery. Sans réponse, le bouton semble bloqué. Depuis MonoChat 3.8.41, chaque appui reçoit une réponse : l'indicateur s'arrête et l'appui arrive dans la conversation comme Réponse à un bouton.

Faut-il coder pour ajouter des boutons à un bot Telegram ?

Non. Connectez le jeton BotFather du bot à MonoChat, puis préparez les messages dans le nœud Envoyer un message ou dans les messages courts : réponses rapides, messages Bouton avec boutons inline, Demande de position et Demande de coordonnées. Les flux orientent ensuite le client selon le bouton choisi.

Premier mois de Growth offert

WhatsApp, Instagram et Messenger dans une seule boîte de réception

Commencez gratuitement avec MonoChat : boîte de réception d'équipe, assistants IA, modèles et campagnes sur les API officielles de Meta.

Un code par entreprise • 30 jours pour l’utiliser • Sans carte bancaire

$150 pour démarrer.

Obtenir