Помимо отправки команд боту напрямую, пользователи могут использовать вашего бота через инлайн-запросы. Если режим инлайн запросов включён, пользователи смогут обращаться к вашему боту, написав его юзернейм и ключевое слово в поле отправки сообщений в любом чате, группе или канале. Таким образом происходит запрос к боту без непосредственной отправки ему сообщений.
Чтобы включить эту возможность, отправьте команду /setinline
пользователю @BotFather и укажите текст-подсказку, который будет отображаться в поле ввода при наборе пользователем имени вашего бота.
См. также справочник API.
Встроенные боты могут отображать любые данные, доступные в Telegram (19 штук): фильмы, аудиозаписи, стикеры и т. д.
Приложения Telegram могут отображать встроенные результаты как с горизонтальной, так и с вертикальной прокруткой, в зависимости от типа результата.
Как только пользователь нажмёт на предложенный результат, он сразу же отправится в чат, а поле ввода будет очищено.
Некоторым ботам необходим процесс предварительной настройки - например, чтобы подключить какой-нибудь внешний аккаунт. Специально для этого была добавлена возможность быстрого переключения между личным чатом и встроенным режимом.
Ваш бот может отобразить кнопку перехода в личный чат над результатами запроса или вместо них. После перехода и выполнения настроек возможен переход обратно в тот чат, откуда пришёл пользователь с помощью встроенной клавиатуры и метода switch_inline_query
@youtube — Предлагает войти в аккаунт YouTube, чтобы отобразить персонализированные результаты.
Метод API: answerInlineQuery
Инлайн-боты могут запрашивать у пользователей их геолокацию. Для включения этой возможности отправьте @BotFather команду /setinlinegeo
. После этого ваш бот будет спрашивать у пользователя разрешение на использование его местоположения при каждом запросе во встроенном режиме.
@foursquare — этот бот будет запрашивать местоположение пользователя для поиска мест поблизости.
Сообщения, отправленные с помощью вашего бота, будут содержать пометку с его именем пользователя рядом с именем отправителя.
Когда пользователь нажимает на юзернейм бота в заголовке сообщения, оно автоматически копируется в поле ввода сообщения. Ввод символа @
в поле ввода сообщения вызовет список недавно использованных ботов.
Чтобы узнать, какие именно результаты из предоставленных вашим ботом предложений пользователи отправляют чаще всего, отправьте боту @Botfather команду /setinlinefeedback
. После этого вы будете получать обновления с результатами, выбранными вашими пользователями.
Обратите внимание: в популярных ботах эта функция может вызвать существенную нагрузку из-за кэширования (см. параметр cache_time
в answerInlineQuery). Чтобы избежать этого, рекомендуется устанавливать настройку вероятности в 1/10, 1/100 или 1/1000 от результатов.
Вот небольшой список ботов, работающих в инлайн-режиме. Попробуйте: