IT MedinaБлог · IT Medina Курс AI Product Engineer →
Блог IT Medina

Как создать Telegram Mini App с помощью ИИ — на примере бота записи с оплатой

Telegram Mini App (он же Web App) — это обычное веб-приложение, которое открывается прямо внутри Telegram. С нейросетью-агентом собрать его реально даже без опыта в коде: вы описываете задачу словами, агент пишет код, вы проверяете. Ниже — как из пяти экранов вырастает работающий бот записи на консультацию с оплатой, и где такой продукт обычно ломается.

Ильнур Ряжапов Ильнур Ряжапов · основатель IT Medina

Что такое Telegram Mini App и почему бот записи — удачный первый продукт

Разберёмся с терминами. Telegram Mini App (Web App) — это не отдельная «мобильная разработка», а веб-страница, которую Telegram показывает в своём окне. Тот же код открывается и в обычном браузере, просто клиент заходит через бота. Именно так устроен, например, EasyBot: внутри — обычное веб-приложение, снаружи — привычный чат Telegram.

Бот записи к эксперту — хороший первый продукт, потому что он закрывает живую боль. У коуча, репетитора, психолога, маркетолога или финансиста запись обычно идёт хаосом в личке: «когда вам удобно?», «скиньте на карту». Продукт, который вы соберёте, продаётся реальному эксперту из ваших же чатов.

Путь клиента простой: открыл бота эксперта → увидел услуги с ценами → выбрал свободный слот → ввёл имя и контакт → оплатил → получил подтверждение и напоминание в тот же чат. Всё это — тема сквозного проекта курса AI Product Engineer, где такой бот собирается по неделям.

Шаг 1. Каркас: пять кликабельных экранов

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

Пять экранов бота записи:

  • Визитка эксперта — первый экран с кнопкой «Записаться»
  • Услуги — список с ценами (консультация 60 мин — 5000 ₽, разбор — 3000 ₽)
  • Календарь слотов — несколько фиксированных времён (вт 15:00, 16:00, 17:00…)
  • Форма записи — имя, телефон, выбранные услуга и время
  • Подтверждение — «вы записались»

Ключевой приём при работе с агентом — просить по одному экрану за раз, открывать в браузере, кликать и делать коммит (сохранение). Не «сделай весь бот» одной строкой, а «добавь экран услуг, кнопка ведёт на календарь». Так вы держите контроль и в любой момент можете откатиться на шаг назад. На этом этапе услуги и слоты просто вписаны в код руками — база появится дальше.

Шаг 2. Бэкенд и база: запись начинает жить

Каркас красивый, но нажимаешь «Записаться», обновляешь страницу — и брони нет: данные держались в памяти браузера, а она живёт до перезагрузки. Чтобы запись сохранялась, нужна база — файл, который переживает и перезагрузку, и перезапуск сервера.

В качестве базы удобно взять SQLite: это один файл рядом с проектом, ставить и настраивать нечего. Таблицы раскладываются как полки в шкафу: experts (эксперты), services (услуги), slots (слоты), bookings (записи), payments (платежи). Сразу закладывается колонка expert_id — «чей это», чтобы позже подключить несколько экспертов и не переписывать базу.

Здесь же появляется главное правило: фронт спрашивает — бэк решает. Кнопки на экране — это витрина, её видит и может подделать кто угодно. Правду о данных, деньги и доступы держит только сервер. Если «слот занят» проверяет фронт, запись в обход пройдёт; если сервер — нет. Стек в этой связке — TypeScript + Node.js на сервере, SQLite как база; весь код пишет агент.

Шаг 3. Оборачиваем сайт в Telegram Web App

Когда MVP работает, приложение оборачивают в Telegram — и это не переписывание, а обёртка. Web App показывает тот же самый сайт, просто в окне мессенджера.

По шагам это выглядит так:

  • создать бота через BotFather командой /newbot и получить токен;
  • токен положить в переменную окружения, а не в код — это секретный ключ доступа от вашего имени;
  • настроить бота так, чтобы по кнопке он открывал ваш сайт как Web App;
  • подключить одну автоматизацию через MCP: при новой записи эксперту приходит уведомление, а клиенту — подтверждение и напоминание.

Важное техническое условие: Telegram пускает Web App только по https. Поэтому обёртка идёт после деплоя — своего домена с SSL-сертификатом. Про то, почему ручной труд в разработке уходит, а понимание остаётся, есть отдельный разбор — «ИИ отменяет лопату».

Шаг 4. Деплой: из «у меня на ноуте» в интернет по ссылке

Пока приложение живёт на вашем компьютере, его видите только вы. Деплой — это перенос на сервер в интернете плюс привязка адреса, чтобы бот открывался с любого телефона. Пять слов, вокруг которых крутится этот этап:

  • VPS — арендованный компьютер в дата-центре, работает круглосуточно;
  • домен — человеческое имя-адрес вместо цифрового IP;
  • DNS — «телефонная книга», которая переводит домен в адрес сервера;
  • SSH — защищённая дверь на сервер;
  • SSL/https — шифрование и тот самый замок в браузере.

Принцип тот же, что с кодом: команды на сервере выполняет агент, вы читаете и проверяете результат в браузере — заучивать Linux не нужно. Порядок нарушать нельзя: сначала DNS указывает на сервер, сайт открывается по http, и только потом ставится https. Половина затыков деплоя — попытка повесить замок раньше, чем долетел DNS (это занимает от нескольких минут до часа — нормально).

Шаг 5. Приём оплаты — по границе Шариата

Оплату в боте записи делают на двух уровнях, в зависимости от вашей ситуации, и без кредитных механик и процентных рассрочек:

  • Полноценный — платёжная ссылка или касса для тех, у кого есть ИП или самозанятость. Здесь важен идемпотентный вебхук: платёжка после моргнувшего интернета может прислать уведомление дважды — правильный код засчитает оплату один раз.
  • Простой — номер карты или QR на странице оплаты, либо кнопка «Написать менеджеру», который даёт реквизиты. Юрлицо для этого не нужно.

Юрлицо (ИП) не обязательно — студент выбирает вариант под себя. Оплата — прямой перевод или платёжная ссылка, без процентов.

Где такой продукт ломается

Нейросеть по синтаксису пишет на уровне опытного разработчика — искать там нечего. Но есть класс ошибок, которые она не закрывает по умолчанию: не потому что «глупая», а потому что вы не попросили. Ваша ценность — не ловить эти баги руками, а знать про эти места и попросить агента проверить себя.

  • Гонка слотов. Два клиента почти одновременно видят свободный вторник 15:00 и оба жмут «Записаться». Сервер для обоих проверяет «свободен?» — и записывает обоих. Одно время, две брони.
  • Дубль оплаты. Интернет моргнул, платёжка на всякий случай прислала уведомление об оплате дважды — наивный код спишет деньги повторно. Лечится идемпотентностью: у каждого платежа уникальный ключ, повтор с тем же ключом игнорируется.
  • Утечка данных. Ответ сервера на «покажи слоты» может заодно вернуть чужие имена и телефоны, а адрес вида /booking/57 — открыться у любого, кто подставит чужой номер.
  • Секреты в коде. Токен бота или ключ платёжки агент может вписать прямо в код, а код уходит в git и на GitHub. Секреты живут в отдельном файле окружения.

Рефлекс простой: продакшн ломается не в коде, а в логике — в гонках, дублях, доступах и секретах. Готовые промпты-чеклисты («проверь себя на гонки / на дубли оплаты / на утечки секретов») находят слабые места сами — надо только знать, о чём попросить.

Что реально по силам новичку

Честно про границы. MVP держат намеренно простым: слоты фиксированные (без разной длительности и часовых поясов на старте), ссылка на созвон — ручное поле, где эксперт вписывает свою постоянную комнату. Умные штуки вроде интеграции с Zoom и таймзон — в бонусы, чтобы не перегружать новичка. При этом ядро — база, гонки, оплата, обёртка в бота — остаётся полностью.

Курс, из которого взят этот путь, не обещает трудоустройство или зарплату — и говорит об этом прямо. Он даёт другое: умение довести небольшой продукт до работающего состояния через нейросеть и продать его. Ключевой навык — сидеть с агентом и разбираться, а не писать код построчно руками.

Частые вопросы

Нужно ли уметь программировать, чтобы создать Telegram Mini App?

Нет, писать код руками не обязательно. Код пишет нейросеть-агент, а вы ставите задачу словами, проверяете результат в браузере и просите проверить слабые места. Ключевой навык — управлять агентом и понимать, что происходит, а не знать синтаксис.

На каком стеке собирают бот записи в Telegram?

Фронт — HTML/CSS, сервер — TypeScript и Node.js, база — SQLite (один файл, без установки). Само приложение оборачивается в Telegram Web App через бота, созданного в BotFather.

Нужен ли ИП для приёма оплаты в Telegram-боте?

Не обязательно. Есть простой вариант без юрлица — номер карты, QR или кнопка «написать менеджеру» за реквизитами. Полноценная платёжная ссылка или касса с идемпотентным вебхуком подойдёт тем, у кого есть ИП или самозанятость.

Почему Telegram Web App требует https?

Telegram пускает Web App только по защищённому https-адресу. Поэтому приложение сначала выкладывают на свой домен с SSL-сертификатом (деплой на VPS), и только потом оборачивают в бота.

Telegram Mini App с ИИ собирается не магией, а по шагам — каркас, база, обёртка в бота, деплой, оплата — и главная ценность владельца в том, чтобы понимать, где продукт ломается, и просить агента это проверить.
Хочешь научиться делать такие продукты?

Курс «AI Product Engineer» — за 12 недель собираешь свой продукт в интернете с ИИ: Telegram Web App, оплата, деплой, продажи.

Смотреть курс