¿Qué es el modo inline en Telegram?
Además de que el bot puede responder a cualquier solicitud directamente en un chat personal o grupo, usando el modo online puedes acceder globalmente al bot en un chat, grupo o canal.
Para contactar a un bot que tiene el modo online habilitado, solo ingresa @*nombre del bot* en el campo Mensaje.
El ejemplo más destacado y popular de un bot funcionando en modo online es @gif, con el cual puedes seleccionar y enviar imágenes gif:

El bot @gif funcionará en cualquier chat.
¿Cómo habilitar el modo inline?
Para que el bot funcione en modo offline, debes habilitar esta opción en la configuración del bot en BotFather.
Selecciona el bot deseado y ve a Bot Settings.

Luego elige Inline Mode

Aquí debes habilitar el modo offline si no está habilitado.

¿Cómo cambiar el placeholder?
Si lo deseas, puedes cambiar el placeholder que se muestra antes de ingresar la consulta de búsqueda. Por defecto, es Buscar…

Para cambiarlo, haz clic en el botón Edit Inline Placeholder:

Define el contenido exacto del placeholder.

Cómo configurar los resultados de salida
Después de hacer clic en una opción de la lista en modo inline, se enviará un mensaje que se indica en el encabezado de la opción seleccionada, y puedes ajustar la reacción en el embudo a este valor.
Para especificar los datos a mostrar en modo inline, debes configurar la variable inline_bot. En el modo inline, la búsqueda de valores en la variable inline_bot se realiza casi en tiempo real.
Los datos en la variable se pueden especificar de tres maneras. Veamos desde lo más simple hasta la configuración máxima.
Un array con datos de texto
Por ejemplo, la búsqueda se realizará en un array de productos.

La variable inline_bot se especifica en la configuración del proyecto. La búsqueda coincide con cualquier variante del array que contenga la frase ingresada.


Cuando ingresas '@nombre__de__tu__bot' y las letras iniciales de los comandos, se abre un menú con los valores que especificaste en la variable del proyecto.
Después de hacer clic en el elemento deseado, se enviará un mensaje del usuario al bot, al cual puedes configurar la reacción en el bot.
La configuración del bloque se ve así:

Datos de ejemplo:
["Leche", "Pan", "Pasta", "Chocolate", "Huevos", "Mantequilla", "Bollo", "Té", "Verduras", "Fruta"]
Salida en ausencia de filtrado
Puedes establecer una clave vacía y asignarle un array de valores en minúsculas o un array de diccionarios. El bot accederá al diccionario usando una clave vacía y mostrará botones con valores del array asignado.
Un botón inline con el valor de búsqueda especificado
¡Ten en cuenta!
Los botones inline en Telegram no son callbacks.
Si necesitas recibir callbacks, lee sobre botones callback en Telegram.
El botón solo funciona en Telegram.
Para establecer una frase de búsqueda, agrega el parámetro inline_query al botón inline con un valor que se inserta automáticamente en la consulta.
Se recomienda usar esta opción para el modo offline, ya que evitará errores y funcionará más rápido.
Por ejemplo, agrega tres botones que coincidan con el ejemplo del capítulo anterior.
[{"line":0,"index_in_line":0,"text":"Mostrar menú","type":"inline","inline_query":"menu"},{"line":0,"index_in_line":1,"text":"Artículos","type":"inline","inline_query":"posts"},{"line":2,"index_in_line":0,"text":"Lista de productos","type":"inline","inline_query":"products"}]

Al hacer clic en un botón, por ejemplo, Artículo, se mostrará la lista de botones encontrados (al agregar, especificaste "inline_query":"posts" para este botón):

Las opciones se toman de una variable dada, como se describió anteriormente en la sección "Diccionario con una lista":

Notas
- La variable inline_bot se puede configurar no solo en variables generales, sino también como una variable simple, pero en este caso su valor debe estar entre comillas simples.
Ejemplo en el campo de calculadora:
inline_bot = '["Leche", "Pan", "Pasta", "Chocolate", "Huevos", "Mantequilla", "Hojaldre", "Té", "Verduras", "Frutas", "#{aa}"]'
También puedes pasar cualquier valor como variable para una configuración más flexible.
Por ejemplo, una opción simple en un array:



