Обмен данными между Telegram ботом и Webapp

Пытаюсь разобраться с Web приложениями для ботов в Telegram. В качестве библиотеки использую telegraf.js (nodejs).

Что мне нужно: я хочу открыть web приложение по нажатию кнопки в inline_keyboard. При открытии мне надо передать некоторые данные в web приложение, затем в приложении их обработать и вызвать функцию в коде бота, в которую необходимо передать обработанные данные.

Передачу данных в Webapp можно сделать через параметры URL, но как быть с чувствительной информацией, которую не следует передавать в GET?

В документации (https://core.telegram.org/bots/webapps#initializing-web-apps) сказано, что для передачи данных из Webapp назад в бота, следует использовать метод window.Telegram.WebApp.sendData. Но вместе с этим сказано: This method is only available for Web Apps launched via a Keyboard button. То есть при запуске из кнопки inline_keyboard этот метод работать не будет. Так каким же образом мне передать данные?

Можно конечно поднять свой http сервер, по нажатию кнопки в Webapp посылать на него запрос и как-то его обрабатывать... Но это такие костыли. Неужели пашка правда дурень и не сделал что-то поудобнее?

Буду благодарен КРАСИВЫМ и ЛАКОНИЧНЫМ примерам кода.


Ответы (0 шт):