Inline-боты Telegram: набираете @bot в любом чате
Inline-режим это самый старый способ Telegram использовать бота без установки, и он работает там, куда гостевой режим дотянуться не может: в любом чате на любом клиенте, включая личную переписку с другом, канал или группу, куда бота вообще нельзя добавить. Наберите @username_бота, а затем запрос, где угодно в поле сообщения, и бот вернёт карточку результата, которую можно просмотреть и самостоятельно отправить.
Механизм здесь другой, чем у гостевого режима. Пока гостевой режим срабатывает в момент, когда вы уже отправили сообщение с упоминанием через @, inline-режим срабатывает, пока вы ещё печатаете, Telegram запрашивает бота в фоне и показывает карточку над клавиатурой ещё до того, как вы что-то отправили. Вы сами решаете, отправлять её или нет, и сообщение, попавшее в чат, несёт небольшую пометку «via @username_бота».
Несколько живых ботов на этом сайте одновременно работают и как inline-боты, поэтому одно и то же упоминание через @ работает и в личной переписке, и в группе.
Шаги
- Откройте любой чат. Личную переписку, группу, даже чат, куда бота никогда нельзя было бы добавить как участника, inline-режиму всё равно, состоит ли бот в чате.
- Наберите @ и username бота. Например наберите @WhisperLockBot в поле сообщения. Telegram распознаёт @username и автоматически переключается в inline-режим.
- Допишите запрос после username. Продолжайте печатать после имени бота, для WhisperLockBot это @anna и ваш текст, например @WhisperLockBot @anna позвони мне, когда освободишься.
- Дождитесь карточки над клавиатурой. Telegram получает результат от бота, пока вы печатаете, и показывает его как карточку-превью ещё до отправки чего-либо в чат.
- Нажмите на карточку, чтобы отправить её. Нажатие отправляет результат как сообщение в текущий чат с пометкой «via @username_бота», чтобы было видно, какой бот его создал.
Полезно знать
- Inline-режим должен быть включён владельцем бота в BotFather, прежде чем упоминание через @ начнёт что-то делать, это отдельный переключатель от Guest Chat Mode, и у бота может быть включено любое из двух, оба или ни одно.
- Поскольку чат назначения неизвестен до момента фактической отправки результата, inline-карточка предлагает только открыть личный чат с ботом, варианта «добавить в эту группу», как у ответа в гостевом режиме, здесь нет.
- Inline-ответы WhisperLockBot это настоящий продукт, а не превью: @WhisperLockBot @friend ваш секретный текст публикует настоящую карточку запечатанного сообщения, ту же самую, что описана в гайдах про секретные сообщения на этом сайте.
- SplitTabsBot и IcebreakerDailyBot работают inline точно так же, как в гостевом режиме: @SplitTabsBot 120 пицца @anna @ben считает и показывает реальную разбивку суммы, а @IcebreakerDailyBot возвращает один готовый к отправке вопрос для разговора.
- Использование бота через inline-режим никуда его не устанавливает и не даёт ему постоянного доступа к чату, каждая отправка это разовое сообщение, всё равно что вставить текст, который вы напечатали сами.
Вопросы и ответы
- В чём разница между inline-режимом и гостевым режимом?
- Inline-режим показывает карточку-превью, пока вы печатаете, в любом чате на любом клиенте, и вы сами решаете, отправлять её. Гостевой режим отвечает на уже отправленное сообщение, только в группах, куда бот не добавлен, и публикует свой единственный ответ автоматически.
- Нужно ли сначала добавлять бота в чат?
- Нет, inline-режим работает именно потому, что боту не нужно быть участником, набора его @username и запроса достаточно для всего взаимодействия.
- Почему после отправки сообщение подписано «via @username_бота»?
- Telegram приписывает каждый inline-результат боту, который его создал, поэтому любой, кто читает чат, видит, какой именно бот сгенерировал это сообщение.
- Работает ли inline-режим в любом чате, включая каналы?
- Да, inline-режим не ограничен чатами, куда бота можно добавить. Он работает в личных сообщениях, группах и каналах одинаково, поскольку боту никогда не нужно членство, чтобы ответить на inline-запрос.