Внешний JavaScript

onDocumentLoad/onDomLoaded/Ready не сработает потому что код БП выполняется позже.

Самый простой способ проверить корректно ли работает ваш код - просто запустить его в консоли браузера если есть такая возможность.

Мне кажется код неверный - Telegram скорее всего undefined.

@OlegSotnikov код рабочий, проверяли и запускали, данные, получаемые от Телеграмма уже смотрели.

А каким образом запускать скрипты после загрузки страницы? получается что скрипт не выполняется, так как он не успевает отработать, а страница уже загрузилась. (Отсюда так же видим, что скрипт может сработать после перехода на другое меню)

Можно попробовать повесить на onAppLaunch

@OlegSotnikov не понятно как все отрабатывает.

  1. Значит я провел эксперементы как отрабатывают разные методы запуска скриптов. Запускал простой скрипт alert('Привет, мир!'); :
  • script tag в настройках приложения
  • Trigger onAppLaunch БП Execute JS
  • БП Execute JS на элемент страницы

Во всех случаях скрипт отрабатывает с первого раза, все отлично.

Далее пытаемся прогнать по тому же сценарию наши скрипты (которые уже потяжелее) и видим несколько вариантов разворота событий, при чем не понятно как и от чего они зависят:

  • Скрипт вообще не отрабатывает и выдает в консоль ReferenceError: Can't find variable: $, хотя выше инициализируется скрипт jquery (при чем отрабатывал пару часов назад с теми же настройками)
  • Скрипт отрабатывает после релоада страницы, не с первого раза, а раза со второго или третьего

Такое ощущение, что он вообще пропускает скрипт и не выполняет его, не успевает или еще что-то. Нужно разбираться.

Скрипт точно рабочий, потому что он бывает то отрабатывает, просто не с первого раза. Я об этом же завел багу тут Header Javascript [APP-8586]

Абсолютно непонятное поведение со скриптами.
Будем очень благодарны, если поможете разобраться, так как это одна из последних тяжелых проблем перед запуском нашего MVP.

@OlegSotnikov и может у вас уже есть новости по реализации модуля для telegram miniapps?

Мы работаем над решением - временным или модулем. Дам апдейт в течении 1-2 дней.

1 Like

В инструкции описан БП как сделать верификацию, но я не нашел ту часть БП, которая делает запрос к api телеграма для получения данных user id.

Как написанно в этом посте, можно сделать через JS или использовать http запрос. Как это реализовали вы в вашем БП ? Поделитесь пожалуйста, спасибо

Для получения данных пользователя не нужно делать запросы к API Телеграмма, эти данные Вам доступны сразу после запуска приложения через JS в window.Telegram.WebApp. У меня нет БП как это сделать на фронте AppMaster, но выше обсуждался код как это можно сделать.

1 Like

Подскажите пожалуйста, этот BP точно рабочий ? Его проверяли или использовали на практике ? Сделал все как в инструкции, проверял неоднократно, подписи из блоков не совпадают.

Так же сравнивал с официальной документацией, вроде все делаю правильно, но в чем проблема найти не могу, так как проверить корректность работы блоков не получается из за того, что они просты выдают подпись.
Просто уже потратил очень много времени на это, от этого зависит запуск проекта

строки по алфавиту
auth_date=123
query_id=123
user={“id”:123,“first_name”:“123”,“allows_write_to_pm”:true,“photo_url”:“://t.me/i/userpic”}’

перенос строки как в BP в текстовом формате пустой перенос