# Все детали бесшовной авторизации в один клик
### Введение: почему бесшовная авторизация важна сегодня
В эпоху мгновенного доступа пользователи ожидают, что вход в любой сервис будет происходить в один клик, без необходимости запоминать пароли или проходить многоэтапные проверки. По данным исследования компании Statista, более 70 % пользователей отказываются от сервисов, где процесс входа слишком сложен, что напрямую влияет на конверсию и удержание аудитории. В этом контексте Telegram mini app представляет собой уникальное решение, позволяющее интегрировать авторизацию через Telegram‑аккаунт непосредственно в веб‑приложения. [ Все детали бесшовной авторизации] ( https: //t...content-available-to-author-only...a.ph/Vse-detali-besshovnoj-avtorizacii-v-odin-klik-10-16) раскрывает, как эта технология упрощает пользовательский путь и повышает доверие к бренду.
! [ Article illustration] ( https: //p...content-available-to-author-only...t.link/uploads/generated-images/2025/10/1760644791607-36c20c0a.jpg)
Бесшовная авторизация не только ускоряет процесс входа, но и снижает риск фишинговых атак, поскольку пользователь подтверждает свою личность в защищённом мессенджере, а не на сторонних формах. Кроме того, Telegram уже имеет более 500 млн активных пользователей, что делает его привлекательной площадкой для масштабных маркетинговых кампаний. При правильной реализации мини‑приложения можно собрать согласованные данные о пользователе, такие как имя, номер телефона и фото профиля, без необходимости дополнительных запросов.
Однако внедрение такой схемы требует глубокого понимания технических ограничений платформы, а также соблюдения требований GDPR и локального законодательства о персональных данных. В следующих блоках мы разберём, какие шаги необходимо предпринять, чтобы интеграция прошла без ошибок, и какие практические инструменты помогут оптимизировать процесс.
### Технические основы Telegram mini app
Telegram mini app работает на основе Web Apps API, предоставляемого в рамках Telegram Bot Platform. При открытии мини‑приложения в клиенте Telegram браузерный контейнер передаёт объект Telegram.WebApp , содержащий информацию о пользователе и методы для взаимодействия с клиентом. Это позволяет реализовать авторизацию в один клик, используя метод Telegram.WebApp .initDataUnsafe , который возвращает подписанные данные о пользователе.
Для проверки подлинности данных необходимо выполнить HMAC‑SHA256 подпись, используя токен бота в качестве ключа. Этот процесс гарантирует, что полученные данные не были подделаны. По результатам анализа, проведённого в 2023 году, более 85 % компаний, использующих HMAC‑проверку, фиксируют снижение количества мошеннических попыток входа на 30 % .
Важно также учитывать ограничения по времени жизни токена и необходимость периодической переавторизации. По рекомендациям Telegram, срок действия подписи не должен превышать 24 часа, после чего пользователь должен пройти повторную проверку. Это обеспечивает баланс между удобством и безопасностью.
> «Безопасность данных в мини‑приложениях Telegram достигается за счёт криптографической подписи initData, что делает подделку практически невозможной» – официальная документация Telegram Bot Platform.
### Практические рекомендации по внедрению
Для успешного запуска авторизации через Telegram mini app следует придерживаться проверенного чек‑листа:
- Создать отдельного бота в BotFather и получить токен доступа.
- Настроить серверную проверку подписи initData с использованием HMAC‑SHA256.
- Обеспечить согласование домена, указав его в настройках Web App в BotFather.
- Разработать пользовательский интерфейс, учитывающий ограничения размеров окна ( max 100 % ширины и 100 % высоты экрана) .
- Тестировать процесс на разных устройствах ( iOS, Android, десктоп) и в разных версиях Telegram.
Помимо технических шагов, стоит обратить внимание на UX‑аспекты. Пользователь должен видеть чёткое сообщение о том, какие данные будут переданы, и иметь возможность отклонить запрос. По данным исследования компании UXCam, прозрачность в запросах данных повышает уровень доверия на 22 % .
Во второй половине статьи мы подробнее рассмотрим, как оптимизировать процесс взаимодействия с пользователем. [ Узнать подробнее о мини‑приложениях Telegram] ( https: //1...content-available-to-author-only...e.com/telegram-mini-app/) поможет понять, какие дополнительные возможности (например, встроенные платежи или интерактивные формы) можно добавить без ухудшения скорости загрузки.
### Перспективы, риски и сравнение с альтернативами
Сравнивая Telegram mini app с другими решениями для бесшовной авторизации ( Google Sign‑In, Apple ID, VK Auth) , следует отметить, что Telegram предлагает более высокий уровень контроля над пользовательскими данными, поскольку не требует передачи их третьим сторонам. По данным [ Telegram Bot – Wikipedia] ( https: //r...content-available-to-author-only...a.org/wiki/Telegram_Bot), более 60 % российских сервисов уже интегрировали Telegram‑авторизацию, что свидетельствует о её популярности.
Тем не менее, существуют риски, связанные с зависимостью от одной платформы. Если Telegram изменит политику доступа к данным или ограничит API, интегрированные сервисы могут столкнуться с перебоями. Поэтому рекомендуется предусмотреть fallback‑механизм, позволяющий переключиться на альтернативный метод входа без потери пользовательского опыта.
В долгосрочной перспективе развитие Web Apps API обещает расширить функциональность мини‑приложений, включая поддержку офлайн‑режима и более глубокую интеграцию с нативными возможностями устройства. Инвестируя в текущую интеграцию, компании получают конкурентное преимущество и готовятся к будущим обновлениям платформы.
### Заключение: ключевые выводы и шаги к реализации
Бесшовная авторизация через Telegram mini app представляет собой мощный инструмент, позволяющий сократить барьер входа, повысить безопасность и укрепить связь с пользователем. Тщательная проверка подписи initData, соблюдение рекомендаций по времени жизни токена и продуманный UX‑дизайн являются обязательными условиями успешного внедрения.
Для компаний, ориентированных на рост конверсии, рекомендуется начать с пилотного проекта, интегрировав авторизацию в один из менее критичных сервисов, собрать метрики использования и, при положительных результатах, масштабировать решение на остальные продукты. Не забывайте о резервных методах входа и регулярных обновлениях безопасности.
Итоговый совет: используйте Telegram mini app как часть единой стратегии цифровой идентификации, сочетая её с другими каналами аутентификации, чтобы обеспечить гибкость, безопасность и удобство для всех категорий пользователей./* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
}
}
IyDQktGB0LUg0LTQtdGC0LDQu9C4INCx0LXRgdGI0L7QstC90L7QuSDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4INCyINC+0LTQuNC9INC60LvQuNC6CgojIyMg0JLQstC10LTQtdC90LjQtTog0L/QvtGH0LXQvNGDINCx0LXRgdGI0L7QstC90LDRjyDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGPINCy0LDQttC90LAg0YHQtdCz0L7QtNC90Y8KCtCSINGN0L/QvtGF0YMg0LzQs9C90L7QstC10L3QvdC+0LPQviDQtNC+0YHRgtGD0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Lgg0L7QttC40LTQsNGO0YIsINGH0YLQviDQstGF0L7QtCDQsiDQu9GO0LHQvtC5INGB0LXRgNCy0LjRgSDQsdGD0LTQtdGCINC/0YDQvtC40YHRhdC+0LTQuNGC0Ywg0LIg0L7QtNC40L0g0LrQu9C40LosINCx0LXQtyDQvdC10L7QsdGF0L7QtNC40LzQvtGB0YLQuCDQt9Cw0L/QvtC80LjQvdCw0YLRjCDQv9Cw0YDQvtC70Lgg0LjQu9C4INC/0YDQvtGF0L7QtNC40YLRjCDQvNC90L7Qs9C+0Y3RgtCw0L/QvdGL0LUg0L/RgNC+0LLQtdGA0LrQuC4g0J/QviDQtNCw0L3QvdGL0Lwg0LjRgdGB0LvQtdC00L7QstCw0L3QuNGPINC60L7QvNC/0LDQvdC40LggU3RhdGlzdGEsINCx0L7Qu9C10LUgNzAgJSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSDQvtGC0LrQsNC30YvQstCw0Y7RgtGB0Y8g0L7RgiDRgdC10YDQstC40YHQvtCyLCDQs9C00LUg0L/RgNC+0YbQtdGB0YEg0LLRhdC+0LTQsCDRgdC70LjRiNC60L7QvCDRgdC70L7QttC10L0sINGH0YLQviDQvdCw0L/RgNGP0LzRg9GOINCy0LvQuNGP0LXRgiDQvdCwINC60L7QvdCy0LXRgNGB0LjRjiDQuCDRg9C00LXRgNC20LDQvdC40LUg0LDRg9C00LjRgtC+0YDQuNC4LiDQkiDRjdGC0L7QvCDQutC+0L3RgtC10LrRgdGC0LUgVGVsZWdyYW0gbWluaSBhcHAg0L/RgNC10LTRgdGC0LDQstC70Y/QtdGCINGB0L7QsdC+0Lkg0YPQvdC40LrQsNC70YzQvdC+0LUg0YDQtdGI0LXQvdC40LUsINC/0L7Qt9Cy0L7Qu9GP0Y7RidC10LUg0LjQvdGC0LXQs9GA0LjRgNC+0LLQsNGC0Ywg0LDQstGC0L7RgNC40LfQsNGG0LjRjiDRh9C10YDQtdC3IFRlbGVncmFt4oCR0LDQutC60LDRg9C90YIg0L3QtdC/0L7RgdGA0LXQtNGB0YLQstC10L3QvdC+INCyINCy0LXQseKAkdC/0YDQuNC70L7QttC10L3QuNGPLiBb0JLRgdC1INC00LXRgtCw0LvQuCDQsdC10YHRiNC+0LLQvdC+0Lkg0LDQstGC0L7RgNC40LfQsNGG0LjQuF0oaHR0cHM6Ly90Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5hLnBoL1ZzZS1kZXRhbGktYmVzc2hvdm5vai1hdnRvcml6YWNpaS12LW9kaW4ta2xpay0xMC0xNikg0YDQsNGB0LrRgNGL0LLQsNC10YIsINC60LDQuiDRjdGC0LAg0YLQtdGF0L3QvtC70L7Qs9C40Y8g0YPQv9GA0L7RidCw0LXRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjQuSDQv9GD0YLRjCDQuCDQv9C+0LLRi9GI0LDQtdGCINC00L7QstC10YDQuNC1INC6INCx0YDQtdC90LTRgy4KCiFbQXJ0aWNsZSBpbGx1c3RyYXRpb25dKGh0dHBzOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5saW5rL3VwbG9hZHMvZ2VuZXJhdGVkLWltYWdlcy8yMDI1LzEwLzE3NjA2NDQ3OTE2MDctMzZjMjBjMGEuanBnKQoK0JHQtdGB0YjQvtCy0L3QsNGPINCw0LLRgtC+0YDQuNC30LDRhtC40Y8g0L3QtSDRgtC+0LvRjNC60L4g0YPRgdC60L7RgNGP0LXRgiDQv9GA0L7RhtC10YHRgSDQstGF0L7QtNCwLCDQvdC+INC4INGB0L3QuNC20LDQtdGCINGA0LjRgdC6INGE0LjRiNC40L3Qs9C+0LLRi9GFINCw0YLQsNC6LCDQv9C+0YHQutC+0LvRjNC60YMg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC/0L7QtNGC0LLQtdGA0LbQtNCw0LXRgiDRgdCy0L7RjiDQu9C40YfQvdC+0YHRgtGMINCyINC30LDRidC40YnRkdC90L3QvtC8INC80LXRgdGB0LXQvdC00LbQtdGA0LUsINCwINC90LUg0L3QsCDRgdGC0L7RgNC+0L3QvdC40YUg0YTQvtGA0LzQsNGFLiDQmtGA0L7QvNC1INGC0L7Qs9C+LCBUZWxlZ3JhbSDRg9C20LUg0LjQvNC10LXRgiDQsdC+0LvQtdC1IDUwMCDQvNC70L0g0LDQutGC0LjQstC90YvRhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSwg0YfRgtC+INC00LXQu9Cw0LXRgiDQtdCz0L4g0L/RgNC40LLQu9C10LrQsNGC0LXQu9GM0L3QvtC5INC/0LvQvtGJ0LDQtNC60L7QuSDQtNC70Y8g0LzQsNGB0YjRgtCw0LHQvdGL0YUg0LzQsNGA0LrQtdGC0LjQvdCz0L7QstGL0YUg0LrQsNC80L/QsNC90LjQuS4g0J/RgNC4INC/0YDQsNCy0LjQu9GM0L3QvtC5INGA0LXQsNC70LjQt9Cw0YbQuNC4INC80LjQvdC44oCR0L/RgNC40LvQvtC20LXQvdC40Y8g0LzQvtC20L3QviDRgdC+0LHRgNCw0YLRjCDRgdC+0LPQu9Cw0YHQvtCy0LDQvdC90YvQtSDQtNCw0L3QvdGL0LUg0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LCDRgtCw0LrQuNC1INC60LDQuiDQuNC80Y8sINC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCDQuCDRhNC+0YLQviDQv9GA0L7RhNC40LvRjywg0LHQtdC3INC90LXQvtCx0YXQvtC00LjQvNC+0YHRgtC4INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0YUg0LfQsNC/0YDQvtGB0L7Qsi4KCtCe0LTQvdCw0LrQviDQstC90LXQtNGA0LXQvdC40LUg0YLQsNC60L7QuSDRgdGF0LXQvNGLINGC0YDQtdCx0YPQtdGCINCz0LvRg9Cx0L7QutC+0LPQviDQv9C+0L3QuNC80LDQvdC40Y8g0YLQtdGF0L3QuNGH0LXRgdC60LjRhSDQvtCz0YDQsNC90LjRh9C10L3QuNC5INC/0LvQsNGC0YTQvtGA0LzRiywg0LAg0YLQsNC60LbQtSDRgdC+0LHQu9GO0LTQtdC90LjRjyDRgtGA0LXQsdC+0LLQsNC90LjQuSBHRFBSINC4INC70L7QutCw0LvRjNC90L7Qs9C+INC30LDQutC+0L3QvtC00LDRgtC10LvRjNGB0YLQstCwINC+INC/0LXRgNGB0L7QvdCw0LvRjNC90YvRhSDQtNCw0L3QvdGL0YUuINCSINGB0LvQtdC00YPRjtGJ0LjRhSDQsdC70L7QutCw0YUg0LzRiyDRgNCw0LfQsdC10YDRkdC8LCDQutCw0LrQuNC1INGI0LDQs9C4INC90LXQvtCx0YXQvtC00LjQvNC+INC/0YDQtdC00L/RgNC40L3Rj9GC0YwsINGH0YLQvtCx0Ysg0LjQvdGC0LXQs9GA0LDRhtC40Y8g0L/RgNC+0YjQu9CwINCx0LXQtyDQvtGI0LjQsdC+0LosINC4INC60LDQutC40LUg0L/RgNCw0LrRgtC40YfQtdGB0LrQuNC1INC40L3RgdGC0YDRg9C80LXQvdGC0Ysg0L/QvtC80L7Qs9GD0YIg0L7Qv9GC0LjQvNC40LfQuNGA0L7QstCw0YLRjCDQv9GA0L7RhtC10YHRgS4KCiMjIyDQotC10YXQvdC40YfQtdGB0LrQuNC1INC+0YHQvdC+0LLRiyBUZWxlZ3JhbSBtaW5pIGFwcAoKVGVsZWdyYW0gbWluaSBhcHAg0YDQsNCx0L7RgtCw0LXRgiDQvdCwINC+0YHQvdC+0LLQtSBXZWIgQXBwcyBBUEksINC/0YDQtdC00L7RgdGC0LDQstC70Y/QtdC80L7Qs9C+INCyINGA0LDQvNC60LDRhSBUZWxlZ3JhbSBCb3QgUGxhdGZvcm0uINCf0YDQuCDQvtGC0LrRgNGL0YLQuNC4INC80LjQvdC44oCR0L/RgNC40LvQvtC20LXQvdC40Y8g0LIg0LrQu9C40LXQvdGC0LUgVGVsZWdyYW0g0LHRgNCw0YPQt9C10YDQvdGL0Lkg0LrQvtC90YLQtdC50L3QtdGAINC/0LXRgNC10LTQsNGR0YIg0L7QsdGK0LXQutGCIFRlbGVncmFtLldlYkFwcCAsINGB0L7QtNC10YDQttCw0YnQuNC5INC40L3RhNC+0YDQvNCw0YbQuNGOINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtSDQuCDQvNC10YLQvtC00Ysg0LTQu9GPINCy0LfQsNC40LzQvtC00LXQudGB0YLQstC40Y8g0YEg0LrQu9C40LXQvdGC0L7QvC4g0K3RgtC+INC/0L7Qt9Cy0L7Qu9GP0LXRgiDRgNC10LDQu9C40LfQvtCy0LDRgtGMINCw0LLRgtC+0YDQuNC30LDRhtC40Y4g0LIg0L7QtNC40L0g0LrQu9C40LosINC40YHQv9C+0LvRjNC30YPRjyDQvNC10YLQvtC0IFRlbGVncmFtLldlYkFwcC5pbml0RGF0YVVuc2FmZSAsINC60L7RgtC+0YDRi9C5INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0L7QtNC/0LjRgdCw0L3QvdGL0LUg0LTQsNC90L3Ri9C1INC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS4KCtCU0LvRjyDQv9GA0L7QstC10YDQutC4INC/0L7QtNC70LjQvdC90L7RgdGC0Lgg0LTQsNC90L3Ri9GFINC90LXQvtCx0YXQvtC00LjQvNC+INCy0YvQv9C+0LvQvdC40YLRjCBITUFD4oCRU0hBMjU2INC/0L7QtNC/0LjRgdGMLCDQuNGB0L/QvtC70YzQt9GD0Y8g0YLQvtC60LXQvSDQsdC+0YLQsCDQsiDQutCw0YfQtdGB0YLQstC1INC60LvRjtGH0LAuINCt0YLQvtGCINC/0YDQvtGG0LXRgdGBINCz0LDRgNCw0L3RgtC40YDRg9C10YIsINGH0YLQviDQv9C+0LvRg9GH0LXQvdC90YvQtSDQtNCw0L3QvdGL0LUg0L3QtSDQsdGL0LvQuCDQv9C+0LTQtNC10LvQsNC90YsuINCf0L4g0YDQtdC30YPQu9GM0YLQsNGC0LDQvCDQsNC90LDQu9C40LfQsCwg0L/RgNC+0LLQtdC00ZHQvdC90L7Qs9C+INCyIDIwMjMg0LPQvtC00YMsINCx0L7Qu9C10LUgODUgJSDQutC+0LzQv9Cw0L3QuNC5LCDQuNGB0L/QvtC70YzQt9GD0Y7RidC40YUgSE1BQ+KAkdC/0YDQvtCy0LXRgNC60YMsINGE0LjQutGB0LjRgNGD0Y7RgiDRgdC90LjQttC10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwINC80L7RiNC10L3QvdC40YfQtdGB0LrQuNGFINC/0L7Qv9GL0YLQvtC6INCy0YXQvtC00LAg0L3QsCAzMCAlLgoK0JLQsNC20L3QviDRgtCw0LrQttC1INGD0YfQuNGC0YvQstCw0YLRjCDQvtCz0YDQsNC90LjRh9C10L3QuNGPINC/0L4g0LLRgNC10LzQtdC90Lgg0LbQuNC30L3QuCDRgtC+0LrQtdC90LAg0Lgg0L3QtdC+0LHRhdC+0LTQuNC80L7RgdGC0Ywg0L/QtdGA0LjQvtC00LjRh9C10YHQutC+0Lkg0L/QtdGA0LXQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4LiDQn9C+INGA0LXQutC+0LzQtdC90LTQsNGG0LjRj9C8IFRlbGVncmFtLCDRgdGA0L7QuiDQtNC10LnRgdGC0LLQuNGPINC/0L7QtNC/0LjRgdC4INC90LUg0LTQvtC70LbQtdC9INC/0YDQtdCy0YvRiNCw0YLRjCAyNCDRh9Cw0YHQsCwg0L/QvtGB0LvQtSDRh9C10LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LTQvtC70LbQtdC9INC/0YDQvtC50YLQuCDQv9C+0LLRgtC+0YDQvdGD0Y4g0L/RgNC+0LLQtdGA0LrRgy4g0K3RgtC+INC+0LHQtdGB0L/QtdGH0LjQstCw0LXRgiDQsdCw0LvQsNC90YEg0LzQtdC20LTRgyDRg9C00L7QsdGB0YLQstC+0Lwg0Lgg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtGM0Y4uCgo+IMKr0JHQtdC30L7Qv9Cw0YHQvdC+0YHRgtGMINC00LDQvdC90YvRhSDQsiDQvNC40L3QuOKAkdC/0YDQuNC70L7QttC10L3QuNGP0YUgVGVsZWdyYW0g0LTQvtGB0YLQuNCz0LDQtdGC0YHRjyDQt9CwINGB0YfRkdGCINC60YDQuNC/0YLQvtCz0YDQsNGE0LjRh9C10YHQutC+0Lkg0L/QvtC00L/QuNGB0LggaW5pdERhdGEsINGH0YLQviDQtNC10LvQsNC10YIg0L/QvtC00LTQtdC70LrRgyDQv9GA0LDQutGC0LjRh9C10YHQutC4INC90LXQstC+0LfQvNC+0LbQvdC+0LnCuyDigJMg0L7RhNC40YbQuNCw0LvRjNC90LDRjyDQtNC+0LrRg9C80LXQvdGC0LDRhtC40Y8gVGVsZWdyYW0gQm90IFBsYXRmb3JtLgoKIyMjINCf0YDQsNC60YLQuNGH0LXRgdC60LjQtSDRgNC10LrQvtC80LXQvdC00LDRhtC40Lgg0L/QviDQstC90LXQtNGA0LXQvdC40Y4KCtCU0LvRjyDRg9GB0L/QtdGI0L3QvtCz0L4g0LfQsNC/0YPRgdC60LAg0LDQstGC0L7RgNC40LfQsNGG0LjQuCDRh9C10YDQtdC3IFRlbGVncmFtIG1pbmkgYXBwINGB0LvQtdC00YPQtdGCINC/0YDQuNC00LXRgNC20LjQstCw0YLRjNGB0Y8g0L/RgNC+0LLQtdGA0LXQvdC90L7Qs9C+INGH0LXQuuKAkdC70LjRgdGC0LA6CgotINCh0L7Qt9C00LDRgtGMINC+0YLQtNC10LvRjNC90L7Qs9C+INCx0L7RgtCwINCyIEJvdEZhdGhlciDQuCDQv9C+0LvRg9GH0LjRgtGMINGC0L7QutC10L0g0LTQvtGB0YLRg9C/0LAuCgotINCd0LDRgdGC0YDQvtC40YLRjCDRgdC10YDQstC10YDQvdGD0Y4g0L/RgNC+0LLQtdGA0LrRgyDQv9C+0LTQv9C40YHQuCBpbml0RGF0YSDRgSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtdC8IEhNQUPigJFTSEEyNTYuCgotINCe0LHQtdGB0L/QtdGH0LjRgtGMINGB0L7Qs9C70LDRgdC+0LLQsNC90LjQtSDQtNC+0LzQtdC90LAsINGD0LrQsNC30LDQsiDQtdCz0L4g0LIg0L3QsNGB0YLRgNC+0LnQutCw0YUgV2ViIEFwcCDQsiBCb3RGYXRoZXIuCgotINCg0LDQt9GA0LDQsdC+0YLQsNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM0YHQutC40Lkg0LjQvdGC0LXRgNGE0LXQudGBLCDRg9GH0LjRgtGL0LLQsNGO0YnQuNC5INC+0LPRgNCw0L3QuNGH0LXQvdC40Y8g0YDQsNC30LzQtdGA0L7QsiDQvtC60L3QsCAobWF4IDEwMCAlINGI0LjRgNC40L3RiyDQuCAxMDAgJSDQstGL0YHQvtGC0Ysg0Y3QutGA0LDQvdCwKS4KCi0g0KLQtdGB0YLQuNGA0L7QstCw0YLRjCDQv9GA0L7RhtC10YHRgSDQvdCwINGA0LDQt9C90YvRhSDRg9GB0YLRgNC+0LnRgdGC0LLQsNGFIChpT1MsIEFuZHJvaWQsINC00LXRgdC60YLQvtC/KSDQuCDQsiDRgNCw0LfQvdGL0YUg0LLQtdGA0YHQuNGP0YUgVGVsZWdyYW0uCgrQn9C+0LzQuNC80L4g0YLQtdGF0L3QuNGH0LXRgdC60LjRhSDRiNCw0LPQvtCyLCDRgdGC0L7QuNGCINC+0LHRgNCw0YLQuNGC0Ywg0LLQvdC40LzQsNC90LjQtSDQvdCwIFVY4oCR0LDRgdC/0LXQutGC0YsuINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQtNC+0LvQttC10L0g0LLQuNC00LXRgtGMINGH0ZHRgtC60L7QtSDRgdC+0L7QsdGJ0LXQvdC40LUg0L4g0YLQvtC8LCDQutCw0LrQuNC1INC00LDQvdC90YvQtSDQsdGD0LTRg9GCINC/0LXRgNC10LTQsNC90YssINC4INC40LzQtdGC0Ywg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDQvtGC0LrQu9C+0L3QuNGC0Ywg0LfQsNC/0YDQvtGBLiDQn9C+INC00LDQvdC90YvQvCDQuNGB0YHQu9C10LTQvtCy0LDQvdC40Y8g0LrQvtC80L/QsNC90LjQuCBVWENhbSwg0L/RgNC+0LfRgNCw0YfQvdC+0YHRgtGMINCyINC30LDQv9GA0L7RgdCw0YUg0LTQsNC90L3Ri9GFINC/0L7QstGL0YjQsNC10YIg0YPRgNC+0LLQtdC90Ywg0LTQvtCy0LXRgNC40Y8g0L3QsCAyMiAlLgoK0JLQviDQstGC0L7RgNC+0Lkg0L/QvtC70L7QstC40L3QtSDRgdGC0LDRgtGM0Lgg0LzRiyDQv9C+0LTRgNC+0LHQvdC10LUg0YDQsNGB0YHQvNC+0YLRgNC40LwsINC60LDQuiDQvtC/0YLQuNC80LjQt9C40YDQvtCy0LDRgtGMINC/0YDQvtGG0LXRgdGBINCy0LfQsNC40LzQvtC00LXQudGB0YLQstC40Y8g0YEg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LwuIFvQo9C30L3QsNGC0Ywg0L/QvtC00YDQvtCx0L3QtdC1INC+INC80LjQvdC44oCR0L/RgNC40LvQvtC20LXQvdC40Y/RhSBUZWxlZ3JhbV0oaHR0cHM6Ly8xLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5lLmNvbS90ZWxlZ3JhbS1taW5pLWFwcC8pINC/0L7QvNC+0LbQtdGCINC/0L7QvdGP0YLRjCwg0LrQsNC60LjQtSDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INCy0L7Qt9C80L7QttC90L7RgdGC0LggKNC90LDQv9GA0LjQvNC10YAsINCy0YHRgtGA0L7QtdC90L3Ri9C1INC/0LvQsNGC0LXQttC4INC40LvQuCDQuNC90YLQtdGA0LDQutGC0LjQstC90YvQtSDRhNC+0YDQvNGLKSDQvNC+0LbQvdC+INC00L7QsdCw0LLQuNGC0Ywg0LHQtdC3INGD0YXRg9C00YjQtdC90LjRjyDRgdC60L7RgNC+0YHRgtC4INC30LDQs9GA0YPQt9C60LguCgojIyMg0J/QtdGA0YHQv9C10LrRgtC40LLRiywg0YDQuNGB0LrQuCDQuCDRgdGA0LDQstC90LXQvdC40LUg0YEg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstCw0LzQuAoK0KHRgNCw0LLQvdC40LLQsNGPIFRlbGVncmFtIG1pbmkgYXBwINGBINC00YDRg9Cz0LjQvNC4INGA0LXRiNC10L3QuNGP0LzQuCDQtNC70Y8g0LHQtdGB0YjQvtCy0L3QvtC5INCw0LLRgtC+0YDQuNC30LDRhtC40LggKEdvb2dsZSBTaWdu4oCRSW4sIEFwcGxlIElELCBWSyBBdXRoKSwg0YHQu9C10LTRg9C10YIg0L7RgtC80LXRgtC40YLRjCwg0YfRgtC+IFRlbGVncmFtINC/0YDQtdC00LvQsNCz0LDQtdGCINCx0L7Qu9C10LUg0LLRi9GB0L7QutC40Lkg0YPRgNC+0LLQtdC90Ywg0LrQvtC90YLRgNC+0LvRjyDQvdCw0LQg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM0YHQutC40LzQuCDQtNCw0L3QvdGL0LzQuCwg0L/QvtGB0LrQvtC70YzQutGDINC90LUg0YLRgNC10LHRg9C10YIg0L/QtdGA0LXQtNCw0YfQuCDQuNGFINGC0YDQtdGC0YzQuNC8INGB0YLQvtGA0L7QvdCw0LwuINCf0L4g0LTQsNC90L3Ri9C8IFtUZWxlZ3JhbSBCb3Qg4oCTIFdpa2lwZWRpYV0oaHR0cHM6Ly9yLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5hLm9yZy93aWtpL1RlbGVncmFtX0JvdCksINCx0L7Qu9C10LUgNjAgJSDRgNC+0YHRgdC40LnRgdC60LjRhSDRgdC10YDQstC40YHQvtCyINGD0LbQtSDQuNC90YLQtdCz0YDQuNGA0L7QstCw0LvQuCBUZWxlZ3JhbeKAkdCw0LLRgtC+0YDQuNC30LDRhtC40Y4sINGH0YLQviDRgdCy0LjQtNC10YLQtdC70YzRgdGC0LLRg9C10YIg0L4g0LXRkSDQv9C+0L/Rg9C70Y/RgNC90L7RgdGC0LguCgrQotC10Lwg0L3QtSDQvNC10L3QtdC1LCDRgdGD0YnQtdGB0YLQstGD0Y7RgiDRgNC40YHQutC4LCDRgdCy0Y/Qt9Cw0L3QvdGL0LUg0YEg0LfQsNCy0LjRgdC40LzQvtGB0YLRjNGOINC+0YIg0L7QtNC90L7QuSDQv9C70LDRgtGE0L7RgNC80YsuINCV0YHQu9C4IFRlbGVncmFtINC40LfQvNC10L3QuNGCINC/0L7Qu9C40YLQuNC60YMg0LTQvtGB0YLRg9C/0LAg0Log0LTQsNC90L3Ri9C8INC40LvQuCDQvtCz0YDQsNC90LjRh9C40YIgQVBJLCDQuNC90YLQtdCz0YDQuNGA0L7QstCw0L3QvdGL0LUg0YHQtdGA0LLQuNGB0Ysg0LzQvtCz0YPRgiDRgdGC0L7Qu9C60L3Rg9GC0YzRgdGPINGBINC/0LXRgNC10LHQvtGP0LzQuC4g0J/QvtGN0YLQvtC80YMg0YDQtdC60L7QvNC10L3QtNGD0LXRgtGB0Y8g0L/RgNC10LTRg9GB0LzQvtGC0YDQtdGC0YwgZmFsbGJhY2vigJHQvNC10YXQsNC90LjQt9C8LCDQv9C+0LfQstC+0LvRj9GO0YnQuNC5INC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90YvQuSDQvNC10YLQvtC0INCy0YXQvtC00LAg0LHQtdC3INC/0L7RgtC10YDQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60L7Qs9C+INC+0L/Ri9GC0LAuCgrQkiDQtNC+0LvQs9C+0YHRgNC+0YfQvdC+0Lkg0L/QtdGA0YHQv9C10LrRgtC40LLQtSDRgNCw0LfQstC40YLQuNC1IFdlYiBBcHBzIEFQSSDQvtCx0LXRidCw0LXRgiDRgNCw0YHRiNC40YDQuNGC0Ywg0YTRg9C90LrRhtC40L7QvdCw0LvRjNC90L7RgdGC0Ywg0LzQuNC90LjigJHQv9GA0LjQu9C+0LbQtdC90LjQuSwg0LLQutC70Y7Rh9Cw0Y8g0L/QvtC00LTQtdGA0LbQutGDINC+0YTQu9Cw0LnQveKAkdGA0LXQttC40LzQsCDQuCDQsdC+0LvQtdC1INCz0LvRg9Cx0L7QutGD0Y4g0LjQvdGC0LXQs9GA0LDRhtC40Y4g0YEg0L3QsNGC0LjQstC90YvQvNC4INCy0L7Qt9C80L7QttC90L7RgdGC0Y/QvNC4INGD0YHRgtGA0L7QudGB0YLQstCwLiDQmNC90LLQtdGB0YLQuNGA0YPRjyDQsiDRgtC10LrRg9GJ0YPRjiDQuNC90YLQtdCz0YDQsNGG0LjRjiwg0LrQvtC80L/QsNC90LjQuCDQv9C+0LvRg9GH0LDRjtGCINC60L7QvdC60YPRgNC10L3RgtC90L7QtSDQv9GA0LXQuNC80YPRidC10YHRgtCy0L4g0Lgg0LPQvtGC0L7QstGP0YLRgdGPINC6INCx0YPQtNGD0YnQuNC8INC+0LHQvdC+0LLQu9C10L3QuNGP0Lwg0L/Qu9Cw0YLRhNC+0YDQvNGLLgoKIyMjINCX0LDQutC70Y7Rh9C10L3QuNC1OiDQutC70Y7Rh9C10LLRi9C1INCy0YvQstC+0LTRiyDQuCDRiNCw0LPQuCDQuiDRgNC10LDQu9C40LfQsNGG0LjQuAoK0JHQtdGB0YjQvtCy0L3QsNGPINCw0LLRgtC+0YDQuNC30LDRhtC40Y8g0YfQtdGA0LXQtyBUZWxlZ3JhbSBtaW5pIGFwcCDQv9GA0LXQtNGB0YLQsNCy0LvRj9C10YIg0YHQvtCx0L7QuSDQvNC+0YnQvdGL0Lkg0LjQvdGB0YLRgNGD0LzQtdC90YIsINC/0L7Qt9Cy0L7Qu9GP0Y7RidC40Lkg0YHQvtC60YDQsNGC0LjRgtGMINCx0LDRgNGM0LXRgCDQstGF0L7QtNCwLCDQv9C+0LLRi9GB0LjRgtGMINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLRjCDQuCDRg9C60YDQtdC/0LjRgtGMINGB0LLRj9C30Ywg0YEg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LwuINCi0YnQsNGC0LXQu9GM0L3QsNGPINC/0YDQvtCy0LXRgNC60LAg0L/QvtC00L/QuNGB0LggaW5pdERhdGEsINGB0L7QsdC70Y7QtNC10L3QuNC1INGA0LXQutC+0LzQtdC90LTQsNGG0LjQuSDQv9C+INCy0YDQtdC80LXQvdC4INC20LjQt9C90Lgg0YLQvtC60LXQvdCwINC4INC/0YDQvtC00YPQvNCw0L3QvdGL0LkgVVjigJHQtNC40LfQsNC50L0g0Y/QstC70Y/RjtGC0YHRjyDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdGL0LzQuCDRg9GB0LvQvtCy0LjRj9C80Lgg0YPRgdC/0LXRiNC90L7Qs9C+INCy0L3QtdC00YDQtdC90LjRjy4KCtCU0LvRjyDQutC+0LzQv9Cw0L3QuNC5LCDQvtGA0LjQtdC90YLQuNGA0L7QstCw0L3QvdGL0YUg0L3QsCDRgNC+0YHRgiDQutC+0L3QstC10YDRgdC40LgsINGA0LXQutC+0LzQtdC90LTRg9C10YLRgdGPINC90LDRh9Cw0YLRjCDRgSDQv9C40LvQvtGC0L3QvtCz0L4g0L/RgNC+0LXQutGC0LAsINC40L3RgtC10LPRgNC40YDQvtCy0LDQsiDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGOINCyINC+0LTQuNC9INC40Lcg0LzQtdC90LXQtSDQutGA0LjRgtC40YfQvdGL0YUg0YHQtdGA0LLQuNGB0L7Qsiwg0YHQvtCx0YDQsNGC0Ywg0LzQtdGC0YDQuNC60Lgg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0LgsINC/0YDQuCDQv9C+0LvQvtC20LjRgtC10LvRjNC90YvRhSDRgNC10LfRg9C70YzRgtCw0YLQsNGFLCDQvNCw0YHRiNGC0LDQsdC40YDQvtCy0LDRgtGMINGA0LXRiNC10L3QuNC1INC90LAg0L7RgdGC0LDQu9GM0L3Ri9C1INC/0YDQvtC00YPQutGC0YsuINCd0LUg0LfQsNCx0YvQstCw0LnRgtC1INC+INGA0LXQt9C10YDQstC90YvRhSDQvNC10YLQvtC00LDRhSDQstGF0L7QtNCwINC4INGA0LXQs9GD0LvRj9GA0L3Ri9GFINC+0LHQvdC+0LLQu9C10L3QuNGP0YUg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtC4LgoK0JjRgtC+0LPQvtCy0YvQuSDRgdC+0LLQtdGCOiDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IFRlbGVncmFtIG1pbmkgYXBwINC60LDQuiDRh9Cw0YHRgtGMINC10LTQuNC90L7QuSDRgdGC0YDQsNGC0LXQs9C40Lgg0YbQuNGE0YDQvtCy0L7QuSDQuNC00LXQvdGC0LjRhNC40LrQsNGG0LjQuCwg0YHQvtGH0LXRgtCw0Y8g0LXRkSDRgSDQtNGA0YPQs9C40LzQuCDQutCw0L3QsNC70LDQvNC4INCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40LgsINGH0YLQvtCx0Ysg0L7QsdC10YHQv9C10YfQuNGC0Ywg0LPQuNCx0LrQvtGB0YLRjCwg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtGMINC4INGD0LTQvtCx0YHRgtCy0L4g0LTQu9GPINCy0YHQtdGFINC60LDRgtC10LPQvtGA0LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS4vKiBwYWNrYWdlIHdoYXRldmVyOyAvLyBkb24ndCBwbGFjZSBwYWNrYWdlIG5hbWUhICovCgppbXBvcnQgamF2YS51dGlsLio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJfQp9
compilation info
Main.java:1: error: illegal character: '#'
# ??? ?????? ????????? ??????????? ? ???? ????
^
Main.java:1: error: class, interface, or enum expected
# ??? ?????? ????????? ??????????? ? ???? ????
^
Main.java:3: error: illegal character: '#'
### ????????: ?????? ????????? ??????????? ????? ???????
^
Main.java:3: error: illegal character: '#'
### ????????: ?????? ????????? ??????????? ????? ???????
^
Main.java:3: error: illegal character: '#'
### ????????: ?????? ????????? ??????????? ????? ???????
^
Main.java:5: error: illegal character: '\u2011'
? ????? ??????????? ??????? ???????????? ???????, ??? ???? ? ????? ?????? ????? ??????????? ? ???? ????, ??? ????????????? ?????????? ?????? ??? ????????? ???????????? ????????. ?? ?????? ???????????? ???????? Statista, ????? 70 % ????????????? ???????????? ?? ????????, ??? ??????? ????? ??????? ??????, ??? ???????? ?????? ?? ????????? ? ????????? ?????????. ? ???? ????????? Telegram mini app ???????????? ????? ?????????? ???????, ??????????? ????????????? ??????????? ????? Telegram???????? ??????????????? ? ??????????????. [??? ?????? ????????? ???????????](https://telegra.ph/Vse-detali-besshovnoj-avtorizacii-v-odin-klik-10-16) ??????????, ??? ??? ?????????? ???????? ???????????????? ???? ? ???????? ??????? ? ??????.
^
Main.java:5: error: illegal character: '\u2011'
? ????? ??????????? ??????? ???????????? ???????, ??? ???? ? ????? ?????? ????? ??????????? ? ???? ????, ??? ????????????? ?????????? ?????? ??? ????????? ???????????? ????????. ?? ?????? ???????????? ???????? Statista, ????? 70 % ????????????? ???????????? ?? ????????, ??? ??????? ????? ??????? ??????, ??? ???????? ?????? ?? ????????? ? ????????? ?????????. ? ???? ????????? Telegram mini app ???????????? ????? ?????????? ???????, ??????????? ????????????? ??????????? ????? Telegram???????? ??????????????? ? ??????????????. [??? ?????? ????????? ???????????](https://telegra.ph/Vse-detali-besshovnoj-avtorizacii-v-odin-klik-10-16) ??????????, ??? ??? ?????????? ???????? ???????????????? ???? ? ???????? ??????? ? ??????.
^
Main.java:9: error: illegal character: '\u2011'
????????? ??????????? ?? ?????? ???????? ??????? ?????, ?? ? ??????? ???? ?????????? ????, ????????? ???????????? ???????????? ???? ???????? ? ?????????? ???????????, ? ?? ?? ????????? ??????. ????? ????, Telegram ??? ????? ????? 500 ??? ???????? ?????????????, ??? ?????? ??? ??????????????? ????????? ??? ?????????? ????????????? ????????. ??? ?????????? ?????????? ??????????????? ????? ??????? ????????????? ?????? ? ????????????, ????? ??? ???, ????? ???????? ? ???? ???????, ??? ????????????? ?????????????? ????????.
^
Main.java:13: error: illegal character: '#'
### ??????????? ?????? Telegram mini app
^
Main.java:13: error: illegal character: '#'
### ??????????? ?????? Telegram mini app
^
Main.java:13: error: illegal character: '#'
### ??????????? ?????? Telegram mini app
^
Main.java:15: error: illegal character: '\u2011'
Telegram mini app ???????? ?? ?????? Web Apps API, ???????????????? ? ?????? Telegram Bot Platform. ??? ???????? ??????????????? ? ??????? Telegram ?????????? ????????? ???????? ?????? Telegram.WebApp , ?????????? ?????????? ? ???????????? ? ?????? ??? ?????????????? ? ????????. ??? ????????? ??????????? ??????????? ? ???? ????, ????????? ????? Telegram.WebApp.initDataUnsafe , ??????? ?????????? ??????????? ?????? ? ????????????.
^
Main.java:17: error: illegal character: '\u2011'
??? ???????? ??????????? ?????? ?????????? ????????? HMAC?SHA256 ???????, ????????? ????? ???? ? ???????? ?????. ???? ??????? ???????????, ??? ?????????? ?????? ?? ???? ?????????. ?? ??????????? ???????, ???????????? ? 2023 ????, ????? 85 % ????????, ???????????? HMAC?????????, ????????? ???????? ?????????? ????????????? ??????? ????? ?? 30 %.
^
Main.java:17: error: illegal character: '\u2011'
??? ???????? ??????????? ?????? ?????????? ????????? HMAC?SHA256 ???????, ????????? ????? ???? ? ???????? ?????. ???? ??????? ???????????, ??? ?????????? ?????? ?? ???? ?????????. ?? ??????????? ???????, ???????????? ? 2023 ????, ????? 85 % ????????, ???????????? HMAC?????????, ????????? ???????? ?????????? ????????????? ??????? ????? ?? 30 %.
^
Main.java:21: error: illegal character: '\u00ab'
> ????????????? ?????? ? ???????????????? Telegram ??????????? ?? ???? ????????????????? ??????? initData, ??? ?????? ???????? ??????????? ???????????? ? ??????????? ???????????? Telegram Bot Platform.
^
Main.java:21: error: illegal character: '\u2011'
> ????????????? ?????? ? ???????????????? Telegram ??????????? ?? ???? ????????????????? ??????? initData, ??? ?????? ???????? ??????????? ???????????? ? ??????????? ???????????? Telegram Bot Platform.
^
Main.java:21: error: illegal character: '\u00bb'
> ????????????? ?????? ? ???????????????? Telegram ??????????? ?? ???? ????????????????? ??????? initData, ??? ?????? ???????? ??????????? ???????????? ? ??????????? ???????????? Telegram Bot Platform.
^
Main.java:21: error: illegal character: '\u2013'
> ????????????? ?????? ? ???????????????? Telegram ??????????? ?? ???? ????????????????? ??????? initData, ??? ?????? ???????? ??????????? ???????????? ? ??????????? ???????????? Telegram Bot Platform.
^
Main.java:23: error: illegal character: '#'
### ???????????? ???????????? ?? ?????????
^
Main.java:23: error: illegal character: '#'
### ???????????? ???????????? ?? ?????????
^
Main.java:23: error: illegal character: '#'
### ???????????? ???????????? ?? ?????????
^
Main.java:25: error: illegal character: '\u2011'
??? ????????? ??????? ??????????? ????? Telegram mini app ??????? ?????????????? ???????????? ?????????:
^
Main.java:29: error: illegal character: '\u2011'
- ????????? ????????? ???????? ??????? initData ? ?????????????? HMAC?SHA256.
^
Main.java:37: error: illegal character: '\u2011'
?????? ??????????? ?????, ????? ???????? ???????? ?? UX????????. ???????????? ?????? ?????? ?????? ????????? ? ???, ????? ?????? ????? ????????, ? ????? ??????????? ????????? ??????. ?? ?????? ???????????? ???????? UXCam, ???????????? ? ???????? ?????? ???????? ??????? ??????? ?? 22 %.
^
Main.java:39: error: illegal character: '\u2011'
?? ?????? ???????? ?????? ?? ????????? ??????????, ??? ?????????????? ??????? ?????????????? ? ?????????????. [?????? ????????? ? ???????????????? Telegram](https://1001site.com/telegram-mini-app/) ??????? ??????, ????? ?????????????? ??????????? (????????, ?????????? ??????? ??? ????????????? ?????) ????? ???????? ??? ????????? ???????? ????????.
^
Main.java:41: error: illegal character: '#'
### ???????????, ????? ? ????????? ? ??????????????
^
Main.java:41: error: illegal character: '#'
### ???????????, ????? ? ????????? ? ??????????????
^
Main.java:41: error: illegal character: '#'
### ???????????, ????? ? ????????? ? ??????????????
^
Main.java:43: error: illegal character: '\u2011'
????????? Telegram mini app ? ??????? ????????? ??? ????????? ??????????? (Google Sign?In, Apple ID, VK Auth), ??????? ????????, ??? Telegram ?????????? ????? ??????? ??????? ???????? ??? ????????????????? ???????, ????????? ?? ??????? ???????? ?? ??????? ????????. ?? ?????? [Telegram Bot ? Wikipedia](https://ru.wikipedia.org/wiki/Telegram_Bot), ????? 60 % ?????????? ???????? ??? ????????????? Telegram????????????, ??? ??????????????? ? ?? ????????????.
^
Main.java:43: error: illegal character: '\u2013'
????????? Telegram mini app ? ??????? ????????? ??? ????????? ??????????? (Google Sign?In, Apple ID, VK Auth), ??????? ????????, ??? Telegram ?????????? ????? ??????? ??????? ???????? ??? ????????????????? ???????, ????????? ?? ??????? ???????? ?? ??????? ????????. ?? ?????? [Telegram Bot ? Wikipedia](https://ru.wikipedia.org/wiki/Telegram_Bot), ????? 60 % ?????????? ???????? ??? ????????????? Telegram????????????, ??? ??????????????? ? ?? ????????????.
^
Main.java:45: error: illegal character: '\u2011'
??? ?? ?????, ?????????? ?????, ????????? ? ???????????? ?? ????? ?????????. ???? Telegram ??????? ???????? ??????? ? ?????? ??? ????????? API, ??????????????? ??????? ????? ??????????? ? ?????????. ??????? ????????????? ????????????? fallback?????????, ??????????? ????????????? ?? ?????????????? ????? ????? ??? ?????? ????????????????? ?????.
^
Main.java:47: error: illegal character: '\u2011'
? ???????????? ??????????? ???????? Web Apps API ??????? ????????? ???????????????? ???????????????, ??????? ????????? ????????????? ? ????? ???????? ?????????? ? ????????? ????????????? ??????????. ?????????? ? ??????? ??????????, ???????? ???????? ???????????? ???????????? ? ????????? ? ??????? ??????????? ?????????.
^
Main.java:47: error: illegal character: '\u2011'
? ???????????? ??????????? ???????? Web Apps API ??????? ????????? ???????????????? ???????????????, ??????? ????????? ????????????? ? ????? ???????? ?????????? ? ????????? ????????????? ??????????. ?????????? ? ??????? ??????????, ???????? ???????? ???????????? ???????????? ? ????????? ? ??????? ??????????? ?????????.
^
Main.java:49: error: illegal character: '#'
### ??????????: ???????? ?????? ? ???? ? ??????????
^
Main.java:49: error: illegal character: '#'
### ??????????: ???????? ?????? ? ???? ? ??????????
^
Main.java:49: error: illegal character: '#'
### ??????????: ???????? ?????? ? ???? ? ??????????
^
Main.java:51: error: illegal character: '\u2011'
????????? ??????????? ????? Telegram mini app ???????????? ????? ?????? ??????????, ??????????? ????????? ?????? ?????, ???????? ???????????? ? ???????? ????? ? ?????????????. ?????????? ???????? ??????? initData, ?????????? ???????????? ?? ??????? ????? ?????? ? ??????????? UX??????? ???????? ????????????? ????????? ????????? ?????????.
^
37 errors
stdout