Что такое inline mode telegram bot

REDMOND

Создание Inline-бота, python-telegram-bot в Python.

Базовый пример Telegram бота с режимом встроенных запросов.

В материале рассматривается базовый пример создания Telegram бота на основе библиотеке python-telegram-bot , использующего режим встроенных запросов Телеграмм, а так же обработчика InlineQueryHandler для распознавания этих встроенных запросов.

Пример снабжен подробными комментариями. Сначала определяются несколько функций обработчика. Затем эти функции передаются Диспетчеру и регистрируются в соответствующих местах. Затем бот запускается и работает до тех пор, пока пользователь в командной строке не нажмет Ctrl-C.

Внимание! Изначально, созданный вами бот в @BotFather не поддерживает режим встроенных запросов Телеграмм. Для включения этого режима необходимо снова подключиться к @BotFather , и используя команду /setinline переключить созданного бота во встроенный режим запросов.

В примере ниже бот применяет различные текстовые преобразования к вводимым сообщениям, которые пользователь может выбрать из так называемого подменю UPPER, BOLD, ITALIC.

Использование: в используемом вами клиенте Телеграмм наберите @логин_бота и через пробел какое либо сообщение. Далее появится контекстное меню с выбором преобразования сообщения: UPPER, BOLD, ITALIC. Выберете требуемое преобразование.

Inline Bots

Beyond sending commands in private messages or groups, users can interact with your bot via inline queries. If inline queries are enabled, users can call your bot by typing its username and a query in the text input field in any chat. The query is sent to your bot in an update. This way, people can request content from your bot in any of their chats, groups, or channels without sending any messages at all.

To enable this option, send the /setinline command to @BotFather and provide the placeholder text that the user will see in the input field after typing your bot’s name.

See the Bot API Manual for the relevant methods and objects.

Inline results

Inline bots support all types of content available in Telegram (20 in all). They are capable of sending stickers, videos, music, locations, documents and more.

Clients can display the results with vertical or horizontal scrolling, depending on the type of content:

As soon as the user taps on an item, it's immediately sent to the recipient, and the input field is cleared.

Switching inline/PM modes

Some inline bots can benefit from an initial setup process, like connecting them to an account on an external service (e.g., YouTube). We've added an easy way of switching between the private chat with a bot and whatever chat the user wants to share inline results in.

You can display a special ‘Switch to PM’ button above the inline results (or instead of them). This button will open a private chat with the bot and pass a parameter of your choosing, so that you can prompt the user for the relevant setup actions. Once done, you can use an inline keyboard with a switch_inline_query button to send the user back to the original chat.

Sample bots
@youtube – Shows a ‘Sign in to YouTube’ button, then suggests personalized results.

Location-based results

Inline bots can request location data from their users. Use the /setinlinegeo command with @BotFather to enable this. Your bot will ask the user for permission to access their location whenever they send an inline request.

Sample bot
@foursquare – This bot will ask for permission to access the user's location, then provide geo-targeted results.

Spreading virally

Messages sent with the help of your bot will show its username next to the sender's name.

When a user taps on the bot username in the message header, the mention is automatically inserted into the input field. Entering the @ symbol in the input field brings up a list of suggestions, featuring recently used inline bots.

Collecting feedback

To know which of the provided results your users are sending to their chat partners, send @Botfather the /setinlinefeedback command. With this enabled, you will receive updates on the results chosen by your users.

Please note that this can create load issues for popular bots – you may receive more results than actual requests due to caching (see the cache_time parameter in answerInlineQuery). For these cases, we recommend adjusting the probability setting to receive 1/10, 1/100 or 1/1000 of the results.

Inline bot samples

Here are some sample inline bots, in case you’re curious to see one in action. Try any of these:
@gif – GIF search
@vid – Video search
@pic – Yandex image search
@bing – Bing image search
@wiki – Wikipedia search
@imdb – IMDB search
@bold – Make bold, italic or fixed sys text

NEW
@youtube — Connect your account for personalized results
@music — Search and send classical music
@foursquare – Find and send venue addresses
@sticker – Find and send stickers based on emoji

REDMOND

Инлайн-боты

Собачка

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

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

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

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

Встроенные боты могут отображать любые данные, доступные в Telegram (19 штук): фильмы, аудиозаписи, стикеры и т. д.

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

Вертикальная прокрутка Горизонтальная прокрутка

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

Переключение между инлайн-режимом и чатом

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

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

Переключение в инлайн-режим

Пример

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

Геоориентированные сервисы

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

Пример

@foursquare — этот бот будет запрашивать местоположение пользователя для поиска мест поблизости.

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

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

Анимация, отправленная через бота Предложения инлайн-бота

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

Сбор статистики

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

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

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

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

    – поиск GIF – поиск видео – поиск изображений от Яндекс – поиск изображений от Bing – поиск статей в Wikipedia – поиск фильмов в IMDB – форматирование текста

Сайт про Telegram на русском (неофициальный).

Здесь собраны приложения на базе MTProto, переведена некоторая документация с официального сайта, а также работает Webogram.

REDMOND

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *