Инлайн-боты

Собачка

Помимо отправки команд боту напрямую, пользователи могут использовать вашего бота через инлайн-запросы. Если режим инлайн запросов включён, пользователи смогут обращаться к вашему боту, написав его юзернейм и ключевое слово в поле отправки сообщений в любом чате, группе или канале. Таким образом происходит запрос к боту без непосредственной отправки ему сообщений.

Введите юзернейм бота, затем ключевое слово

Чтобы включить эту возможность, отправьте команду /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 от результатов.

Примеры инлайн-ботов

Вот небольшой список ботов, работающих в инлайн-режиме. Попробуйте:

  • @gif – поиск GIF
  • @vid – поиск видео
  • @pic – поиск изображений от Яндекс
  • @bing – поиск изображений от Bing
  • @wiki – поиск статей в Wikipedia
  • @imdb – поиск фильмов в IMDB
  • @bold – форматирование текста