Что такое inline_query запрос и как отправить его боту?

Из документации, есть такой хендлер:
@router.inline_query()
async def inline_query_handler(inline_query: types.InlineQuery)

Я никак не могу понять на что он реагирует и для чего нужен? Что в Aiogram, что в Telegram API понятного объяснения что это такое и как работает не нашёл. Есть ещё его "брат", для выбранного запроса (откуда выбранного?).
@router.chosen_inline_result()
async def chosen_inline_result_handler(chosen_inline_result: types.ChosenInlineResult)

Объясните пожалуйста, для чего они и как работают? Как заставить бота получить эти виды обновлений?
  • Вопрос задан
  • 216 просмотров
Решения вопроса 2
febday
@febday
Inline query - это апдейт, который оправляется боту в момент вызова инлайн-меню (@gif text)
Chosen inline result - это апдейт, который отлавливает ваш выбор из инлайн-меню (Telegram не рекомендует выставлять в настройках 100% шанс отлавливания)

Для включения inline mode вам нужно обратиться к BotFather, выбрать вашего бота и пройти по следующему пути: Bot Settings > Inline Mode. В данном меню вы можете включить/выключить данный режим, а также выставить текст, который у вас заменит привычный текст в строке ввода "Написать сообщение..." (placeholder)

Для включения chose inline result вам нужно также войти в настройки бота и перейти теперь в "Inline Feedback"

Если вы хотите почитать про инлайн режим в aiogram, то вот вам раздел из книги Груши: *книга*
В принципе там будут все ответы на выше поставленные вопросы
Ответ написан
shurshur
@shurshur
Сисадмин, просто сисадмин...
У ботов есть интерфейс, который помогает пользователю написать новое сообщение. Для этого надо ввести в любом чате имя бота в начале (@###bot) и какой-то текст, секунду спустя бот вернёт список вариантов для использования. Например, @vid "текст" сделает поиск видео на YouTube и покажет варианты. Пользователь может выбрать вариант и отправить его в текущий чат, а может не выбрать - бот об этом не узнает.

Пример
65c3cc74bef59374568860.png


Как вариант, можно посмотреть моего бота glagolitic_bot, который помогает писать в чатах глаголицей, тифинагицей, коптицей и ивритицей. Ссылка на исходный код есть в описании бота.

Чтобы бот мог работать в таком режиме, его надо включить у BotFather (Bot Settings - Inline Mode). Надо ещё не забывать, что Телеграм может кэшировать такие подсказки бота.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы