Как работают инлайн-боты Telegram

Инлайн-боты Telegram — это мощный инструмент, который позволяет пользователям запрашивать контент вашего бота прямо из любого чата, не отправляя ему личных сообщений. Хотите узнать, как это работает и как создать такого бота? Мы расскажем всё по полочкам!

⚠️ Данный текст частично содержит перевод официальной документации ↗️
Как работают инлайн-боты Telegram

Современные технологии общения постоянно эволюционируют, и Telegram не остаётся в стороне. Одна из самых крутых фишек платформы — это инлайн-боты, которые позволяют пользователям вызывать функционал бота прямо из любого чата, будь то группа, канал или личная беседа. Кстати, если вам интересно изучить оригинал этой документации, вы всегда можете найти его на официальном сайте Telegram. Но мы постарались сделать этот перевод максимально доступным и удобным для вас!


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


Чтобы включить эту функцию, отправьте команду /setinline @BotFather и укажите текст-заполнитель, который пользователь будет видеть в поле ввода после ввода имени вашего бота.

См. Руководство по Bot API для получения информации о соответствующих методах и объектах.

Результаты инлайн-запросов

Инлайн-боты поддерживают все типы контента, доступные в Telegram (всего 20). Они способны отправлять стикеры, видео, музыку, местоположения, документы и многое другое.


Клиенты могут отображать результаты с вертикальной или горизонтальной прокруткой, в зависимости от типа контента:


Как только пользователь нажимает на элемент, он немедленно отправляется получателю, и поле ввода очищается.

Переключение между инлайн/ЛС

Некоторые инлайн-боты могут извлечь выгоду из начального процесса настройки, например, подключения их к аккаунту на внешнем сервисе (например, YouTube). Мы добавили простой способ переключения между личным чатом с ботом и любым чатом, в котором пользователь хочет поделиться инлайн-результатами.


Вы можете отобразить специальную кнопку 'Переключиться на ЛС' над инлайн-результатами (или вместо них). Эта кнопка откроет личный чат с ботом и передаст параметр по вашему выбору, чтобы вы могли предложить пользователю выполнить соответствующие действия настройки. После завершения вы можете использовать инлайн-клавиатуру с кнопкой switch_inline_query, чтобы вернуть пользователя в исходный чат.

Примеры ботов
@youtube – Показывает кнопку 'Войти в YouTube', затем предлагает персонализированные результаты.

Руководство: Переключиться на ЛС

Результаты на основе геолокации

Инлайн-боты могут запрашивать данные о местоположении у своих пользователей. Используйте команду /setinlinegeo с @BotFather, чтобы включить эту функцию. Ваш бот будет запрашивать у пользователя разрешение на доступ к их местоположению каждый раз, когда они отправляют инлайн-запрос.

Пример бота
@foursquare – Этот бот запросит разрешение на доступ к местоположению пользователя, а затем предоставит результаты с учетом геолокации.

Вирусное распространение

Сообщения, отправленные с помощью вашего бота, будут показывать его имя пользователя рядом с именем отправителя.



Когда пользователь нажимает на имя пользователя бота в заголовке сообщения, упоминание автоматически вставляется в поле ввода. Ввод символа @ в поле ввода вызывает список предложений с недавно использованными инлайн-ботами.

Сбор обратной связи

Чтобы узнать, какие из предоставленных результатов ваши пользователи отправляют своим партнёрам по чату, отправьте @Botfather команду /setinlinefeedback. С включенной этой опцией вы будете получать обновления о результатах, выбранных вашими пользователями.

Обратите внимание, что это может создать проблемы с нагрузкой для популярных ботов – вы можете получать больше результатов, чем фактических запросов из-за кэширования (см. параметр cache_time в answerInlineQuery). В таких случаях мы рекомендуем настроить параметр вероятности, чтобы получать 1/10, 1/100 или 1/1000 результатов.

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

Вот несколько примеров инлайн-ботов, если вам интересно увидеть их в действии. Попробуйте любой из них:
@gif – Поиск GIF
@vid – Поиск видео
@pic – Поиск изображений Яндекс
@bing – Поиск изображений Bing
@wiki – Поиск в Википедии
@imdb – Поиск в IMDB
@bold – Сделать текст жирным, курсивом или фиксированным

НОВИНКА
@youtube - Подключите свою учетную запись для персонализированных результатов
@music - Ищите и отправляйте классическую музыку
@foursquare – Найдите и отправьте адреса мест
@sticker – Найдите и отправьте стикеры на основе эмодзи

Комментарии