Tpydaga, за готовым кодом для этой задачи не уверен, что qna.habr.com - это подходящее место. Лучше скопируйте алгоритм, подпишите "нужен код на php" и отпостите на freelance.habr.com
1. Пользователь переходит по ссылке на страницу
2. Пользователь вводит данные
3. Данные уходят на сервер
4. Сервер перекидывает данные ботом в телеграм аккаунт и двумя кнопками с параметрами text и callback_data (данные, которые будут отправлены на сервер бота по нажатию - нужно установить значения, которые позволят идентифицировать нажатую кнопку)
5. Сервер возвращает пользователю страницу, которая просит подождать пока запрос будет отработан и автоматически рефрешится каждые 30сек (либо можно сделать коммуникацию с сервером с помощью websocket)
6. Вы нажимаете на кнопку
7. На сервер прилетает апдейт со свойством `callback_query`, у которого в `data` находятся данные, которые были назначены для кнопки в `callback_data`
8. По переданным данным сервер идентифицирует нажатую кнопку и обновляет состояние запроса
9. После обновления состояния запроса по следующему рефрешу пользователю показывается результат
либо перекинуть логику принятия решения об успехе-ошибке на сам сайт, тогда:
"https://website1.com/" и "https://website2.com/" - это адрес на веб-сервере, куда будет передан id нажатой кнопки, и сервер уже принимает решение - что показывать: успех или ошибку.
Или не верно понимаю суть задачи?
что означает "в случае успеха" и "в случае ошибки"? успех - правильная нажатая кнопка или какое-то успешное событие, после которого нажатие на кнопку вызывает успех. если второе, тогда не очень понятно - зачем две кнопки?
squadbrodyaga, под "компилируется" имел ввиду применение любых трансформаций к js перед тем как он попадает в браузер (например, использование webpack, babel, итд)
squadbrodyaga, где-то за пределами этого кода болтается обращение к "submit" свойству какого-то объекта, который является "undefined" и это кидает ошибку
функция на строке #155 производит инициализацю.
сначала создается блок статсов в левом верхнем углу.
затем на #165 создается effectCanvas, который используется приложением для отрисовки всей визуалки
Сергей: так и есть. window.innerHeight - это высота окна. тут ловить только на живую, потому что проблема, очевидно, в тех местах, которые Вы оставили за кадром.