Комментарии 42
Интересно, а можно ли в боте для Телеграм запускать веб приложения с использованием WebGL?
Ребята, вопрос: в web apps есть кэш на картинки и css файлы. Вопрос - как это убрать для css?
При обновлении кода сайта можно ставить версии подключенных файлов:
<link rel="stylesheet" href="style.css?v1.1">
Или же вовсе запретить кэш.
Это безусловно интересный функционал в Телеграм, открывающий доселе невиданные возможности при создании ботов. Но остался вопрос с точки зрения безопасности. Так как итоговый бот это HTML-страница, то можно воспользоваться официальной веб-версией Телеграм, чтобы извлечь iframe и запустить страницу локально. В такую страницу можно внести любые модификации, например подменить глобальную переменную tg
, верно? И например использовать идентификатор другого пользователя.
На данный момент Web приложения в web.telegram.org не поддерживаются, но я думаю к релизу разработчики выдадут безопасное обновление в web-версии)
Бесконечно благодарен!
Кнопка слева снизу для вызова Webapp получается в группе не работает?
забавно, что автор закрасил свой айдишник, но оставил юзерку. Любой может открыть его профиль и при необходимости, имея кастомный клиент например, достать айди) Но толку в этом нет, ибо айди тебе абсолютно ничего не даст. Люди, не бойтесь палить свой айдишник) Не заморачивайтесь, он итак публичный, и кому надо — его достанут
Пишу бота с WebApp уже месяц с самого релиза, есть парочка моментов.
1) В офф документации очень мало инфы
2) Объект initData передаётся согласно офф докам только через inline кнопку, но первые 2 недели было наоборот- только через неё объект не передавался.
3) Почему initData не передаётся через остальные кнопки- непонятно.
Самое главное:
4) Не сбрасываются куки. Я прошёл аутентификацию через сторонний сервис (он через 302 статус и хэдер set-cookies проставил у меня в WebApp куку) месяц назад- кука с токеном сессии до сих пор жива и передаётся этому сервису. Сброс кэшей и бд Телеграмма, Хрома, Android WebView не помогает. Единственный выход- переустановка клиента Телеграмма. Возможно, поможет ещё костыль в виде set-cookie из моего WebApp, но я пока не пробовал.
Не кто не сталкивался, с тем что в Desktop версии (window) телеграмма в WebApps не работает часть браузерного API, например тот же alert() ?
Расстраивает ограничение, что Web Apps работают только в приватном чате пользователь-бот. Есть интересные кейсы использования для групп и каналов через inline buttons, но в этом случае сейчас сервер телеграма возвращает ошибку "Web app can be used in private chats only". Может кто-то знает, планирует ли Telegram добавить поддержку групп и каналов для Web Apps?
Автору спасибо! Кто-нибудь знает, как сделать отправку данных как в оф. примере DurgerKingBot?
Пример
Надо вызвать метод answerWebAppQuery. Аргументом передать query_id полученный из initData. В качестве result использовать InlineQueryResultArticle.
А как получить этот query_id ?
Как я и сказал: получить его на фронте с помощью JS-скрипта Telegram из initData. Далее отправить любым удобным способом на ваш бек средствами того же JS. Подобная интеграция не простая и требует полноценный API, который умеет общаться с фронтом, Bot API тут не обойтись.
Странно, что не разрешили метод sendData для WebApp открытых через InlineButton. Возможно, как-то угрожает безопасности? Приходится свой API для связи с бэкендом бота писать
Привет, нашел ответ? Тоже не могу разобраться как отправлять данные после закрытия самого бота...
Всем привет!
У меня есть небольшой проект (читай стартап), в рамках которого я делаю бота на R, но с веб-разработкой совсем не знаком...Очень хочу добавить функциональность, которая появилась с помощью WebApps, так как много запросов у аудитории, которые решаться такой интеграцией.
Буду очень рад, если кто-то готов помочь с этим =)
А есть уже шаблоны web apps для телеги? Покопался на themeforest не нашел ничего
Спасибо за статью!
Столкнулся с проблемой в Telegram macOS 8.8. Метод sendData не отрабатывает. Завел репорт на багтрекере Telegram. Кому не сложно, поставьте палец вверх по ссылке:
https://bugs.telegram.org/c/18381
P.S. Использовал бота из статьи в качестве примера.
Спасибо большое за это сообщение! А то я уже головой об стену начал биться. Все усугубляется тем, что дебажить можно через одно место, а гугл на все вопросы с telegram web app выдает чаще всего просто про телеграм что-то
Короче, оказалось, что WebApp.sendData метод не работает, если Web App был открыт через Menu button. Завел на это баг https://bugs.telegram.org/c/18681 (прошу тоже поддержать лайками)
Пришлось завести заново https://bugs.telegram.org/c/18686
Так в документации написано, что sendData работает только при использовании Keyboard Button. Это не баг, а фича короче.
Ага, там в комментах написали. Но какая-то странная фича, которая ведёт к неконсистентному поведению
А с помощью webapp можно хранить некоторые данные локально на устройстве пользователя? Например, в localstorage?
Подскажите, а можно ли как-то обрабатывать поп-апы в web app? Есть сайт, куда нужно логиниться через веб-кошелек. Он всегда открывает поп-ап окно с авторизацией. Если на этот сайт пойти через web app, то выдает ошибку "Unable to open a popup window" и открывает мне тот поп-ап в обычной вкладке браузера, но даже если в браузере авторизоваться и подтвердить, то в самом web app ничего не происходит.
В Windows 7 выводит сообщение, что для запуска нужен Windows 8.1
ПИПЕЦ
Создание telegram web apps и взаимодействие с ними в телеграм ботах