@bubaley

Telegram Bot API. Как решить вопрос получения информации из сообщения?

Здравствуйте
Разрабатываю ботов на python с библиотекой pyTelegramBotAPI

Как можно получить информацию о сообщении, зная:
1. User_id и Message_id
2. inline_message_id (то сообщение которое отправляется в Inline режиме)
Сама задача состоит в том, чтобы отправить сообщение человеку в инлайн режиме, получить результат нажатия на call-back кнопку и просмотреть текст сообщения, потому что в нем лежит ключевая информация. Потом эта информация обрабатывается и создается запись в БД.

Можно сделать по другому (будет супер идеально):
Когда я только набираю запрос @moy_super_puper_bot проверка
вылазит InlineQueryResultArticle, но каждый раз когда я меняю текст он пересобирается (поэтому на этом этапе писать в БД не вариант).
Как можно отловить кому выполняется отправка этого InlineQueryResult и когда он именно отправлен (чтобы в момент нажатия, я знал кому отправляю и что отправляю чтобы сразу записать в БД)?

Подойдет как первый вариант так и второй.
И еще небольшой Есть кнопахи switch_inline_query можно ли отловить из нее в какой диалог я перешел?
  • Вопрос задан
  • 473 просмотра
Решения вопроса 1
photozoom
@photozoom
Возможно уже не актуально, но может кому-то пригодится...
Когда кто-либо набирает @moy_super_puper_bot Запрос, скрипт должен получить в обновлении массив 'inline_query' в котором есть ключ "query" со значением 'Запрос'. Скрипт должен подготовить ответ и отправить его методом 'answerInlineQuer'. Ответ должен представлять собой некий массив 'InlineQueryResult' из результатов, которые тоже в свою очередь массивы (есть несколько типов результатов как то 'InlineQueryResultArticle', 'InlineQueryResultContact' и т. д. ). Так вот каждый результат должен быть с уникальным id.
Когда пользователь нажмет на один из результатов запроса, скрипт может получить с обновлением масив 'chosen_inline_result', в котором будет тот самый уникальный id результата 'result_id'.
Но чтобы получать с обновлением 'chosen_inline_result', нужно настроить бота отправив команду /setinlinefeedback в BotFather.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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