Главное Авторские колонки Вакансии Вопросы
666 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как я разработал Telegram Web App (Как Notcoin/Blum)

Все мы знакомы с Telegram мини-приложениями: самыми популярными примерами стали NotCoin, Hamster Kombat, blum. Эти приложения набирают все больше и больше пользователей: число игроков hamster kombat, например, уже достигло отметки в 200 млн, и каждую секунду появляются сотни новых игроков.
Мнение автора может не совпадать с мнением редакции

Я решил создать своё приложение на базе Telegram Web Apps: Читайте далее, как шёл процесс разработки, и что у меня получилось.

Результат


Клиентская часть

1. Дизайн и разработка интерфейса

Процесс разработки начался с создания привлекательного и удобного интерфейса. Я использовал HTML, CSS и JavaScript, чтобы создать основу веб-приложения. Возможности также позволяют сразу задать приложению пользовательскую цветовую схему из телеграма, но я этого делать не стал (но умею).

В фотошопе я создал все необходимые иконки. После этого сверстал три необходимых блока: Основной блок с монеткой, вкладка «Друзья» для приглашения друзей, и вкладка «Задания» для получения бонусов за активность. Снизу — меню для нваигации между страницами-блоками. В планах было также сделать мини-игру DropGame как в Blum’е. Кнопка для перехода на страницу с мини-игрой над меню.


2. Динамика и взаимодействие

Для повышения интерактивности приложения я использовал JS и jQuery, которые значительно упростили работу с элементами DOM и позволили создать эффекты и переходы. С помощью JavaScript и jQuery я реализовал основные возможности, такие как нажатие кнопок, отправка запросов на сервер, обновление данных в реальном времени и взаимодействие с пользователем.

Серверная часть

1. Обработка запросов и взаимодействие с API

Серверная часть приложения была построена на основе Python и Flask. Flask — Фреймворк для создания веб-приложений. Я настроил обработку POST и GET запросов, чтобы обеспечить взаимодействие между клиентской и серверной частями.

2. Хранение данных и безопасность

Для хранения данных я использовал PostgreSQL, мощную и надёжную СУБД. С помощью библиотеки psycopg2 я обеспечил безопасное взаимодействие с базой данных через сервер. Важно: нельзя делать взаимодействия с БД напрямую через клиентскую часть, т.к. это увеличит риск взлома до максимума. Именно поэтому сервер сам выполняет большую часть вычислений и проверок, и доверяет лишь незначительные операции для клиентской части.

3. Интеграция с Telegram API

Я уже сказал, что Telegram API способен передать приложению цветовую тему пользователя. Но этим он не ограничивается: Через свойства можно узнать, с какого устройства заходит пользователь, его имя, фамилию, ник, аватарку, и главное — USER ID для авторизации. Вместо надоевших почт и паролей авторизация происходит для пользователя автоматически, так как к профилю сразу привязывается Telegram.

Мини-игра и дополнительные функции

Разработка мини-игры

Для более интересного пользования я решил повторить игру из Blum’a — Drop game. Смысл в том, чтобы в течении 30 секунд поймать как можно больше падающих сверху вниз бонусов. Я полностью воссоздал эту мини-игру, и даже бустеры «заморозки» для остановки монет. Для игры требуются билеты, которые можно получить за ежедневный вход/Приглашение друзей.

Реферальная система

Отдельное внимание хочу уделить реферальной системе , которая сейчас стала классикой во всех телеграм играх. Теперь не нужно делать затраты на рекламу, можно просто давать пользователям награды за приглашённых друзей. Ссылки для приглашения — анонимные, т.е. по ссылке невозможно определить, кто ее отправил, — для всех это просто рандомная строка. С реферальной системой количество пользователей будет расти в геометрической прогрессии, как во всеизвестном hamster kombat.

Телеграм бот

Телеграм бот, как и сервер, написан на Python, с использованием библиотеки PyTelegramBotAPI. У меня телеграмм бот выполняет две функции — добавляет рефералов и выдаёт ссылки: для игры и для приглашения друзей. Конечно, функционал может быть ещё больше, но зачем, если для этого теперь есть приложения.

Заключение

Telegram Web Apps — Это совершенно новый уровень интернета. Больше никакой регистрации — Telegram и приложение свяжутся друг с другом автоматически.

Разработка Telegram Web App требует глубоких знаний и опыта в области веб-технологий и интеграции с API.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Не пропустите публикацию!
TonApps
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.