Что такое инлайн-режим в Telegram?
Помимо того, что бот может отвечать на любые запросы напрямую в личном чате или группе, с помощью инлайн-режима вы можете получить глобальный доступ к боту в чате, группе или канале.
Чтобы связаться с ботом, у которого включен инлайн-режим, просто введите @*имя_бота* в поле Сообщение.
Самый яркий и популярный пример работы бота в инлайн-режиме — @gif, с помощью которого можно выбирать и отправлять гиф-изображения:

Бот @gif будет работать в любом чате.
Как включить инлайн-режим?
Чтобы бот работал в инлайн-режиме, необходимо включить эту опцию в настройках бота в BotFather.
Выберите нужного бота и перейдите в Bot Settings.

Затем выберите Inline Mode

Здесь нужно включить инлайн-режим, если он не включен.

Как изменить плейсхолдер?
При желании вы можете изменить плейсхолдер, который отображается перед вводом поискового запроса. По умолчанию он равен Search…

Чтобы изменить его, нажмите кнопку Edit Inline Placeholder:

Укажите точное содержимое плейсхолдера.

Как настроить вывод результатов
После нажатия на опцию из списка в инлайн-режиме будет отправлено сообщение, указанное в заголовке выбранной опции, и вы можете настроить реакцию в воронке на это значение.
Чтобы указать данные для вывода в инлайн-режиме, необходимо задать переменную inline_bot. В инлайн-режиме поиск значений в переменной inline_bot происходит практически в реальном времени.
Данные в переменной можно указать тремя способами. Рассмотрим от самого простого до максимальных настроек.
Массив с текстовыми данными
Например, поиск будет осуществляться по массиву товаров.

Переменная inline_bot указывается в настройках проекта. Поиск совпадает с любым вариантом массива, содержащим введенную фразу.


При вводе '@имя__вашего__бота' и начальных букв команд открывается меню со значениями, которые вы указали в переменной проекта.
После нажатия на нужный пункт от пользователя будет отправлено сообщение боту, на которое вы можете настроить реакцию в боте.
Конфигурация блока выглядит так:

Пример данных:
["Молоко", "Хлеб", "Макароны", "Шоколад", "Яйца", "Масло", "Булочка", "Чай", "Овощи", "Фрукты"]
Вывод при отсутствии фильтрации
Вы можете установить пустой ключ и присвоить ему массив значений в нижнем регистре или массив словарей. Бот будет обращаться к словарю по пустому ключу и выводить кнопки со значениями из присвоенного массива.
Инлайн-кнопка с указанным значением поиска
Обратите внимание!
Инлайн-кнопки в Telegram не являются колбэками.
Если вам нужно получать колбэки, то читайте о колбэк-кнопках в Telegram.
Кнопка работает только в Telegram.
Чтобы задать поисковую фразу, добавьте в инлайн-кнопку параметр inline_query со значением, которое автоматически вставляется в запрос.
Рекомендуется использовать этот вариант для инлайн-режима, так как это позволит избежать ошибок и работать быстрее.
Например, добавьте три кнопки, соответствующие примеру из предыдущей главы.
[{"line":0,"index_in_line":0,"text":"Показать меню","type":"inline","inline_query":"menu"},{"line":0,"index_in_line":1,"text":"Статьи","type":"inline","inline_query":"posts"},{"line":2,"index_in_line":0,"text":"Список товаров","type":"inline","inline_query":"products"}]

При нажатии на кнопку, например, Статьи, отобразится найденный список кнопок (при добавлении вы указали "inline_query":"posts" для этой кнопки):

Варианты берутся из заданной переменной, как описано выше в разделе "Словарь со списком":

Примечания
- Переменная inline_bot может быть задана не только в общих переменных, но и как простая переменная, но в этом случае ее значение должно быть заключено в одинарные кавычки.
Пример в поле калькулятора:
inline_bot = '["Молоко", "Хлеб", "Макароны", "Шоколад", "Яйца", "Масло", "Слоеное тесто", "Чай", "Овощи", "Фрукты", "#{aa}"]'
Вы также можете передать любое значение в качестве переменной для более гибкой настройки.
Например, простой вариант в массиве:



