Что такое 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)

Объясните пожалуйста, для чего они и как работают? Как заставить бота получить эти виды обновлений?
  • Вопрос задан
  • 1205 просмотров
Решения вопроса 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). Надо ещё не забывать, что Телеграм может кэшировать такие подсказки бота.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы