Продукт·11 августа 2026 г.·5 мин чтения

Telegram-бот или mini app: что выбрать

Когда хватает Telegram-бота, а когда нужен mini app: лимиты платформы, сроки разработки, примеры проектов и путь апгрейда.

Максим ИлинAI-native product builderТакже доступно на HRV, EN

Делайте бота, если вся задача укладывается в короткий обмен сообщениями: запрос, два-три ответа, подтверждение. Делайте 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, и миграция затрагивает только слой интерфейса, а логику оставляет нетронутой.

Читать дальше

Все статьи