Задать вопрос
alexjet73
@alexjet73

Как шарить изображения в telegram mini apps js?

Есть приложение с генерацией контента в виде изображений. Какие вообще есть варианты из телеграм миниапс дать возможность пользователю поделится этим изображением. В доках по JS библиотеке увидел только shareToStory, и то доступен по сути не всем.
Возможно кто то делал что то подобное уже или в курсе просто, подскажите, пожалуйста!
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@GrigoryMorozov
Если мини-приложение запускается с помощью инлайн-кнопки, а вы хотите отправить изображение в чат с ботом, используйте серверный метод answerWebAppQuery. Реализация примерно такая:
  1. Отправляете сгенерированное изображение вместе с параметром initData собственному серверному скрипту
  2. Проверяете параметр initData, извлекаете из него query_id
  3. Сохраняете сгенерированное изображение
  4. Вызываете метод answerWebAppQuery с извлечённым query_id. В качестве параметра result передаёте InlineQueryResultPhoto со ссылкой на сгенерированное изображение
  5. Сгенерированное изображение спустя какое-то время можно удалить

Альтернативно, если мини-приложение запускается по прямой ссылке, можно использовать клиентский метод switchInlineQuery. Предварительно выполните шаги 1-3 и сохраните ассоциацию пользователя со ссылкой на сгенерированное изображение.

После вызова клиентского метода мини-приложение закроется, будет предложено выбрать чат (если передавался параметр choose_chat_types), а бот получит событие inline_query. Ответьте на него с помощью серверного метода answerInlineQuery, используя сохранённую ассоциацию (параметр results в данном случае — массив с одним элементом типа InlineQueryResultPhoto, cache_time должен быть небольшим, а is_personal — true).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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