Открыть сервис

Inline-режим

Inline-режим — это функциональная возможность мессенджеров и чат-платформ, позволяющая пользователю взаимодействовать с ботами непосредственно в поле ввода сообщения, без необходимости открывать отдельный диалог с ботом. В отличие от обычного режима, где бот отвечает в рамках своего чата, inline-режим даёт возможность вызывать бота из любого чата (личного или группового) и получать его ответ или результат в виде всплывающего списка, который затем можно отправить в текущий диалог.

История

Концепция inline-режима впервые была реализована в мессенджере Telegram в 2016 году. Разработчики платформы представили эту функцию как способ интеграции сторонних сервисов (поиск, перевод, создание стикеров, опросов) без необходимости переключаться между чатами. Telegram стал первой крупной платформой, где inline-режим стал стандартной частью API для ботов. Впоследствии аналогичные механизмы появились в других мессенджерах, например, в Slack (через slash-команды) и Discord (через контекстные меню), но именно в Telegram inline-режим получил наибольшее распространение и функциональную глубину.

Принцип работы

Как активировать

Для вызова бота в inline-режиме пользователь вводит в любом чате (личном, групповом или канале) имя бота, начинающееся с символа @, а затем — запрос. Например, @gif (для поиска GIF-анимаций) или @wiki (для поиска в Википедии). После ввода символа @ и имени бота мессенджер автоматически подставляет список доступных ботов, а после ввода запроса — отправляет его на сервер бота.

Обработка запроса

Бот получает от платформы объект InlineQuery, содержащий:

  • idуникальный идентификатор запроса;
  • from — данные пользователя, отправившего запрос;
  • query — текст запроса (после имени бота);
  • offset — параметр для пагинации (если результатов много).

Бот должен за ограниченное время (обычно до 10 секунд) вернуть список результатов — массив объектов InlineQueryResult. Каждый результат может быть:

  • текстовым сообщением;
  • изображением;
  • видео;
  • аудио;
  • стикером;
  • документом;
  • местоположением;
  • контактом;
  • игрой.

Отображение результатов

Платформа отображает результаты в виде всплывающего списка под полем ввода. Пользователь может выбрать один из результатов, после чего он будет отправлен в текущий чат как обычное сообщение (от имени пользователя, а не от бота). Если пользователь не выбирает результат, бот не получает уведомления об этом.

Обработка выбора

Когда пользователь выбирает результат, платформа отправляет боту объект ChosenInlineResult, содержащий информацию о выбранном результате и чате, в который он был отправлен. Это позволяет боту вести статистику, логировать действия или выполнять дополнительные действия (например, начислять баллы, обновлять базу данных).

Классификация

По типу возвращаемых данных

  • Текстовые inline-боты — возвращают текст (перевод, определение, новость, цитату).
  • Медиа-боты — возвращают изображения, видео, аудио, стикеры (например, поиск GIF-анимаций, мемов, музыки).
  • Сервисные боты — возвращают результаты действий: создание опроса, генерация QR-кода, проверка орфографии, конвертация валют.
  • Игровые боты — позволяют запускать мини-игры прямо в чате через inline-режим.

По способу интеграции

  • Публичные боты — доступны всем пользователям платформы (например, @gif, @wiki, @youtube).
  • Приватные боты — доступны только определённым пользователям (например, корпоративные боты, требующие авторизации).
  • Боты с ограниченным доступом — работают только в определённых чатах или группах.

Применение

Поиск и интеграция

Inline-режим широко используется для быстрого поиска информации без выхода из чата. Например, бот @wiki позволяет найти статью в Википедии, @gif — найти GIF-анимацию, @youtube — найти видео на YouTube. Это избавляет пользователя от необходимости переключаться между приложениями.

Перевод и локализация

Боты-переводчики, такие как @translate, позволяют перевести текст на другой язык прямо в поле ввода. Пользователь вводит @translate привет и получает перевод на английский или другой язык.

Создание контента

Inline-режим используется для генерации контента: создание стикеров, мемов, опросов, таблиц, QR-кодов. Например, бот @sticker позволяет создать стикер из текста, а @poll — создать опрос для группы.

Автоматизация и бизнес

В корпоративных средах inline-режим применяется для быстрого доступа к базам данных, CRM, системам тикетов. Сотрудник может ввести @crm клиент 12345 и получить информацию о клиенте прямо в чате.

Образование и развлечения

Боты-викторины (например, @quiz) позволяют проводить опросы и викторины в группах. Боты-игры (например, @gamebot) запускают мини-игры, в которых могут участвовать несколько пользователей.

Преимущества и недостатки

Преимущества

  • Удобство — не нужно открывать отдельный чат с ботом.
  • Скорость — результаты отображаются мгновенно.
  • Контекстность — результат отправляется в тот же чат, где был сделан запрос.
  • Многофункциональность — один бот может предоставлять десятки разных типов результатов.
  • Безопасность — бот не получает доступ к содержимому чата, только к запросу.

Недостатки

  • Ограниченное время ответа — бот должен ответить за 10 секунд, иначе результаты не отобразятся.
  • Ограниченный объём данных — результаты не могут быть слишком большими (например, изображения — до 10 МБ).
  • Зависимость от платформы — inline-режим поддерживается не всеми мессенджерами.
  • Сложность разработки — для создания качественного inline-бота требуется хорошее знание API и оптимизация запросов.

Технические аспекты

API Telegram

В Telegram Bot API inline-режим реализован через метод answerInlineQuery, который принимает массив InlineQueryResult. Каждый результат должен иметь уникальный id и тип. Для текстовых результатов используется InputTextMessageContent, для медиа — InputMediaPhoto, InputMediaVideo и т.д.

Пагинация

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

Кэширование

Для ускорения работы боты часто кэшируют результаты на стороне клиента. Telegram поддерживает кэширование inline-результатов, что позволяет избежать повторных запросов к серверу бота.

Логирование и аналитика

Боты могут отслеживать, какие результаты выбирают пользователи, и использовать эту информацию для улучшения качества поиска или персонализации.

Примеры популярных inline-ботов

  • @gif — поиск GIF-анимаций (Giphy, Tenor).
  • @wiki — поиск статей в Википедии.
  • @youtube — поиск видео на YouTube.
  • @translate — перевод текста.
  • @sticker — создание стикеров из текста.
  • @poll — создание опросов.
  • @bold — форматирование текста (жирный, курсив).
  • @music — поиск музыки (SoundCloud, Spotify).
  • @imdb — поиск информации о фильмах.
  • @weather — погода в заданном городе.

Ограничения и регулирование

В Российской Федерации деятельность мессенджеров и ботов регулируется Федеральным законом «Об информации, информационных технологиях и о защите информации». Владельцы ботов обязаны соблюдать требования законодательства, в том числе в части обработки персональных данных и противодействия распространению запрещённой информации. Некоторые боты, признанные нарушающими законодательство РФ, могут быть заблокированы на территории страны. При использовании inline-режима пользователи должны учитывать, что боты могут собирать и обрабатывать их запросы, поэтому рекомендуется использовать только проверенные и легальные сервисы.

Источники

  • Telegram Bot API Documentation — Inline Mode
  • Федеральный закон «Об информации, информационных технологиях и о защите информации» от 27.07.2006 № 149-ФЗ
  • Статья «Inline-боты: как они работают и зачем нужны» — Хабр
  • Документация Telegram Bot API — объект InlineQuery
  • Документация Telegram Bot API — объект ChosenInlineResult

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →