Qu'est-ce que le mode inline dans Telegram ?

En plus du fait que le bot peut répondre à toute demande directement dans un chat personnel ou un groupe, en utilisant le mode en ligne, vous pouvez accéder globalement au bot dans un chat, un groupe ou un canal.

Pour contacter un bot qui a le mode en ligne activé, il suffit de saisir @*nom du bot* dans le champ Message.

L'exemple le plus frappant et le plus populaire d'un bot fonctionnant en ligne est @gif, avec lequel vous pouvez sélectionner et envoyer des images gif :

Le bot @gif fonctionnera dans n'importe quel chat.

Comment activer le mode inline ?

Pour que le bot fonctionne en mode hors ligne, vous devez activer cette option dans les paramètres du bot dans BotFather.

Sélectionnez le bot souhaité et allez dans Bot Settings.

Ensuite, choisissez Inline Mode

Ici, vous devez activer le mode hors ligne s'il n'est pas activé.

Comment changer le placeholder ?

Si vous le souhaitez, vous pouvez modifier le placeholder qui s'affiche avant de saisir la requête de recherche. Par défaut, il est Recherche…

Pour le modifier, cliquez sur le bouton Edit Inline Placeholder :

Définissez le contenu exact du placeholder.

Comment configurer les résultats de sortie

Après avoir cliqué sur une option de la liste en mode inline, un message sera envoyé qui est indiqué dans l'en-tête de l'option sélectionnée, et vous pouvez ajuster la réaction dans l'entonnoir à cette valeur.

Pour spécifier les données à afficher en mode inline, vous devez définir la variable inline_bot. En mode inline, la recherche des valeurs dans la variable inline_bot se fait presque en temps réel.

Les données dans la variable peuvent être spécifiées de trois manières. Examinons-les de la plus simple à la configuration maximale.

Un tableau avec des données textuelles

Par exemple, la recherche se fera sur un tableau de produits.

La variable inline_bot est spécifiée dans les paramètres du projet. La recherche correspond à toute variante du tableau qui contient la phrase saisie.

Lorsque vous saisissez '@nom__de__votre__bot' et les premières lettres des commandes, un menu s'ouvre avec les valeurs que vous avez spécifiées dans la variable du projet.

Après avoir cliqué sur l'élément souhaité, un message de l'utilisateur sera envoyé au bot, auquel vous pouvez configurer la réaction dans le bot.

La configuration du bloc ressemble à ceci :

Exemple de données :

["Lait", "Pain", "Pâtes", "Chocolat", "Œufs", "Beurre", "Petit pain", "Thé", "Légumes", "Fruits"]

Sortie en l'absence de filtrage

Vous pouvez définir une clé vide et lui attribuer un tableau de valeurs en minuscules ou un tableau de dictionnaires. Le bot accédera au dictionnaire en utilisant une clé vide et affichera des boutons avec les valeurs du tableau attribué.

Un bouton inline avec la valeur de recherche spécifiée

Veuillez noter !

Les boutons inline dans Telegram ne sont pas des callbacks.

Si vous avez besoin de recevoir des callbacks, lisez à propos des boutons callback dans Telegram.

Le bouton fonctionne uniquement dans Telegram.

Pour définir une phrase de recherche, ajoutez le paramètre inline_query au bouton inline avec une valeur qui est automatiquement insérée dans la requête.

Il est recommandé d'utiliser cette option pour le mode hors ligne, car cela évitera les erreurs et fonctionnera plus rapidement.

Par exemple, ajoutez trois boutons qui correspondent à l'exemple du chapitre précédent.

[{"line":0,"index_in_line":0,"text":"Afficher le menu","type":"inline","inline_query":"menu"},{"line":0,"index_in_line":1,"text":"Articles","type":"inline","inline_query":"posts"},{"line":2,"index_in_line":0,"text":"Liste des produits","type":"inline","inline_query":"products"}]

Lorsque vous cliquez sur un bouton, par exemple, un Article, la liste trouvée des boutons s'affichera (lors de l'ajout, vous avez spécifié "inline_query":"posts" pour ce bouton) :

Les options sont extraites d'une variable donnée, comme décrit ci-dessus dans la section "Dictionnaire avec une liste" :

Remarques

  • La variable inline_bot peut être définie non seulement dans les variables générales, mais aussi comme une variable simple, mais dans ce cas, sa valeur doit être entre guillemets simples.

Exemple dans le champ de calcul :

inline_bot = '["Lait", "Pain", "Pâtes", "Chocolat", "Œufs", "Beurre", "Pâte feuilletée", "Thé", "Légumes", "Fruits", "#{aa}"]'

Vous pouvez également passer n'importe quelle valeur comme variable pour une configuration plus flexible.

Par exemple, une option simple dans un tableau :