Modo inline no Telegram
O que é o modo inline no Telegram?
Além do fato de que o bot pode responder a qualquer solicitação diretamente em um chat pessoal ou grupo, usando o modo online, você pode acessar globalmente o bot em um chat, grupo ou canal.
Para contatar um bot que tenha o modo online ativado, basta digitar @*nome do bot* no Mensagem .
O exemplo mais marcante e popular de um bot funcionando online é o @gif, com o qual você pode selecionar e enviar imagens gif:

O bot @gif funcionará em qualquer chat.
Como ativar o modo inline?
Para que o bot funcione no modo offline, você precisa ativar essa opção nas configurações do bot em BotFather.
Selecione o bot desejado e vá para o Configurações do Bot.

Depois escolha Modo Inline

Aqui você precisa ativar o modo offline, se ele não estiver ativado.

Como alterar o placeholder?
Se desejar, você pode alterar o placeholder que é exibido antes de inserir a consulta de busca. Por padrão, ele é Buscar…

Para alterá-lo, clique em Editar placeholder inline botão:

Defina o conteúdo exato do placeholder.

Como configurar os resultados de saída
Depois de clicar em uma opção da lista no modo inline, uma mensagem será enviada, indicada no cabeçalho da opção selecionada, e você pode ajustar a reação no funil para esse valor.
Para especificar os dados a serem exibidos no modo inline, você precisa definir a variável inline_bot. No modo inline, a busca por valores na variável inline_bot acontece quase em tempo real.
Os dados na variável podem ser especificados de três maneiras. Vamos ver da forma mais simples até as configurações máximas.
Um array com dados de texto
Por exemplo, a busca ocorrerá em um array de produtos.

A variável inline_bot é especificada nas configurações do projeto. A busca corresponde a qualquer variante do array que contenha a frase inserida.


Quando você digita "@nome__do seu__bot" e as primeiras letras dos comandos, um menu é aberto com os valores que você especificou na variável do projeto.
Depois de clicar no item desejado, uma mensagem do usuário será enviada ao bot, para a qual você pode configurar a reação no bot.
A configuração do bloco fica assim:

Dados de exemplo:
["Leite", "Pão", "Macarrão", "Chocolate", "Ovos", "Manteiga", "Pãozinho", "Chá", "Legumes", "Frutas"]
Saída na ausência de filtragem
Você pode definir uma chave vazia e atribuir a ela um array de valores em letras minúsculas ou um array de dicionários. O bot acessará o dicionário usando uma chave vazia e exibirá botões com valores do array atribuído.
Um botão inline com o valor de busca especificado
Por favor, observe!
Botões inline no Telegram não são callbacks.
Se você precisar receber callbacks, leia sobre botões de callback no Telegram.
O botão funciona apenas no Telegram.
Para definir uma frase de busca, adicione o parâmetro inline_query ao botão inline com um valor que é inserido automaticamente na consulta.
Recomenda-se usar esta opção para o modo offline, pois isso evitará erros e funcionará mais rápido.
Por exemplo, adicione três botões que correspondam ao exemplo do capítulo anterior.
[{"line":0,"index_in_line":0,"text":"Mostrar o menu","type":"inline","inline_query":"menu"},{"line":0,"index_in_line":1,"text":"Статьи","type":"inline","inline_query":"posts"},{"line":2,"index_in_line":0,"text":"Lista de produtos","type":"inline","inline_query":"products"}]

Quando você clica em um botão, por exemplo, um Artigo, a lista de botões encontrada será exibida (ao adicionar, você especificou "inline_query":"posts" para este botão):

As opções são retiradas de uma variável dada, como descrito acima em "Dicionário com uma lista" :

Observações
A variável inline_bot pode ser definida não apenas em variáveis gerais, mas também como uma variável simples, porém nesse caso seu valor deve estar entre aspas simples.
Exemplo no campo da calculadora:
inline_bot = '["Leite", "Pão", "Macarrão", "Chocolate", "Ovos", "Manteiga", "Massa folhada", "Chá", "Legumes", "Frutas", "#{aa}"]'
Você também pode passar qualquer valor como variável para uma configuração mais flexível.
Por exemplo, uma opção simples em um array:

Atualizado