Telegram-бот или mini app: что выбрать
Когда хватает Telegram-бота, а когда нужен mini app: лимиты платформы, сроки разработки, примеры проектов и путь апгрейда.
Делайте бота, если вся задача укладывается в короткий обмен сообщениями: запрос, два-три ответа, подтверждение. Делайте mini app, если человеку нужно листать каталог, фильтровать его, сравнивать варианты или заполнять форму больше чем на три-четыре поля.
Дальше я разбираю, где именно проходит эта граница, что Telegram даёт с каждой стороны и во сколько недель обходится каждый вариант.
Бот ведёт диалог, mini app держит экраны
Бот живёт внутри чата. Он читает команды и текст, отвечает сообщениями, reply-клавиатурами и инлайн-кнопками, а состояние хранит на вашем сервере. Пользователь не выходит из переписки, но каждый лишний шаг стоит ещё одного круга запрос-ответ.
Mini app работает как веб-страница, которую Telegram открывает поверх чата. Ваши HTML и JavaScript работают во встроенном вебвью, поэтому вы полностью управляете вёрсткой, навигацией и анимацией, как на обычном сайте. Telegram передаёт внутрь личность пользователя, добавляет нативные элементы вроде главной кнопки, хаптики и попапов, а с Bot API 8.0 в ноябре 2024 года разрешает полноэкранный режим (Telegram Bot API changelog, 2024).
Бэкенд у обоих вариантов один и тот же. Вы выбираете слой интерфейса, и это решение можно поменять позже, не переписывая бизнес-логику.
Берите бота, когда сценарий линейный
Для всего, что человек проходит меньше чем за минуту, я по умолчанию беру обычного бота. Уведомления, проверка статуса, сбор заявок, модерация, дайджесты по расписанию и простые AI-ассистенты живут в окне чата без всякого дополнительного UI.
- Меньше пяти полей ввода. Опрос из трёх-четырёх вопросов читается сообщениями лучше, чем формой.
- Push важнее pull. Если продукт в основном сам присылает информацию, чат уже решает задачу доставки, и mini app ничего не добавляет.
- Действие происходит в группе. Mini app открывается персонально, поэтому всё, что должно случиться на глазах у всего чата, остаётся за ботом.
- Запуск нужен в этом месяце. Рабочий бот с базой за спиной собирается за дни, а не за недели.
Так устроен мой TT Production Event Planner. Клиент выбирает тип мероприятия, размер площадки и бюджет, а бот подбирает комплект звука и света из прокатного каталога, и всё это укладывается в восемь-девять сообщений. Интерфейсный слой такой сценарий только затормозил бы.
Берите mini app, когда данные не влезают в сообщение
Лента сообщений плохо держит всё, что пользователь сравнивает глазами. Каталоги с картинками, схемы зала, дашборды, многошаговый чекаут, перетаскивание элементов и графики требуют реального экрана и реального состояния.
Mini app получает от Telegram то, чего у бота нет: постоянное хранилище CloudStorage до 1 024 ключей на пользователя со значением до 4 096 символов, доступ к биометрии, геолокацию, датчики движения и ярлык на домашнем экране (документация Telegram Mini Apps, 2026). Клавиатура бота для сравнения отдаёт назад максимум 4 096 байт данных за одно взаимодействие.
Для Antigram, медиапроекта с аудиторией больше 160 000 человек, mini app взял на себя просмотр контента и взаимодействие с ним, которые в ленте сообщений превратились бы в нечитаемую простыню. Цифры по такой сборке я разложил в статье сколько стоит Telegram mini app, а результат можно посмотреть в моих проектах.
Ограничения, которые решают спор
Три правила платформы закрывают большую часть дискуссий ещё до дизайна.
Первое, платежи. Telegram требует продавать цифровые товары и услуги внутри своих приложений только за Stars, и правило действует одинаково для ботов и mini apps, независимо от платёжного провайдера, который у вас уже подключён снаружи (Telegram Bot Payments for Digital Goods, 2026). Физические товары и офлайн-услуги остаются за обычными провайдерами, поэтому служба доставки сохраняет оплату картой, а подписочный сервис платит комиссию Stars.
Второе, доверие. Каждый mini app получает строку initData, и сервер обязан проверить её подпись, прежде чем поверить в переданный user id. Без этой проверки любой желающий выдаёт себя за любого пользователя вашего приложения.
Третье, охват. В марте 2025 года Telegram объявил, что перешагнул миллиард активных пользователей в месяц (The Block, 2025). Эта аудитория приходит без установки приложения, что играет в пользу более лёгкого формата всегда, когда лёгкий формат справляется.
Сроки, бюджет и путь апгрейда
Сфокусированный бот на Supabase с деплоем в Railway занимает у меня примерно одну-две недели. Mini app с авторизацией, полноценным интерфейсом и платежами выходит на три-шесть недель, потому что к тому же самому бэкенду добавляется React-приложение.
Порядок, который работает: сначала выпустить бота, посмотреть, где люди застревают, и перенести в mini app только этот застревающий шаг. Antigram, Event AI Agent и финтех-прототип NeuroWallet стартовали с узкого куска, а не с полного описания продукта.
Бот подтверждает спрос. Mini app масштабирует опыт, когда спрос уже есть.
На обоих этапах у вас остаются один бэкенд, одна база и один деплой. Как я нарезаю этапы, видно на страницах услуг и цен, а с конкретным сценарием пишите мне напрямую.
Частые вопросы
Могут ли бот и mini app работать под одним аккаунтом?
Да. Mini app всегда принадлежит боту, поэтому один и тот же @username и обрабатывает команды в чате, и запускает интерфейс. Приложение подключается через кнопку меню, инлайн-кнопку или прямую ссылку вида t.me/yourbot/appname.
Нужно ли публиковать mini app в App Store или Google Play?
Нет. Mini app живёт как обычный сайт на вашем домене с HTTPS, а Telegram загружает его внутри клиента. Обновления вы выкатываете как для любого веб-приложения, и пользователь получает новую версию при следующем открытии без модерации сторов.
Что надёжнее авторизует пользователя?
Оба варианта опознают человека через Telegram и оба требуют серверной проверки. Бот берёт id отправителя из входящего апдейта, а mini app получает initData, подпись которой бэкенд сверяет с токеном бота, прежде чем доверять хотя бы одному полю.
Может ли mini app отправлять сообщения в чат?
Только через своего бота и только по правилам того способа, которым его открыли. Приложение, запущенное с инлайн-кнопки, отправляет результат обратно в переписку по query id, а приложение из прямой ссылки доступа к чату не имеет, пока вы не проведёте его через инлайн-режим.
Что делать, если бот перестал справляться?
Этот переход задуман дешёвым. Команды, схема базы и интеграции остаются на месте, вы добавляете веб-фронтенд поверх того же API, и миграция затрагивает только слой интерфейса, а логику оставляет нетронутой.
Читать дальше
Все статьиУ Dantiva появился первый платящий клиент. После этого продукт снова изменился
Обновление Dantiva от лица основателя: первая подтверждённая покупка и подписка, новая светлая рабочая среда, Gemini LLM-студия, GPT Image 2.5 и две заявки в хорватские инновационные программы.
ЧитатьМодель оказалась самым простым. Чему меня научила Dantiva
Заметки о том, как строилась Dantiva, AI-студия видео из фото на моделях Google: три входа, реестр с резервом и возвратом, переименование, которое я не стал доводить до конца, три раунда цен и стена, в которую упёрся продукт.
ЧитатьЯ не инженер. И я обучил свою языковую модель на MacBook Air
Как я дообучил Qwen3 8B методом LoRA на MacBook Air с 16 ГБ: четыре попытки, 576 примеров, где метрики врали и чему модель научилась на самом деле.
Читать