Телеграм стал не просто мессенджером - он превратился в платформу, где можно запускать полноценные приложения прямо внутри чата. Мини-приложения (Mini Apps) в Telegram работают как веб-сайты, но запускаются без скачивания. Их можно использовать для покупок, игр, заказа еды, управления финансами - всё это без выхода из Telegram. Если вы хотите создать своё Mini App, это проще, чем кажется. Нет нужды изучать Swift или Kotlin. Достаточно знать HTML, CSS и JavaScript - те же технологии, что и для обычных сайтов.
Что такое Mini App в Telegram
Mini App - это лёгкое веб-приложение, которое запускается внутри Telegram. Оно не требует установки, не занимает место на телефоне и работает мгновенно. Telegram предоставляет специальный JavaScript API, который даёт доступ к функциям мессенджера: отправке сообщений, получению данных пользователя, открытию ссылок, работе с кошельком и даже оплате через TON (The Open Network).
Когда вы нажимаете на кнопку в боте и видите интерфейс, похожий на мобильное приложение - это Mini App. Примеры: Telegram Mini Apps от @notcoin, @pumpfun, @tonkeeper. Они работают на любом устройстве - и на Android, и на iOS, и на десктопе. Главное отличие от обычного бота: Mini App позволяет создавать сложные интерфейсы с формами, кнопками, анимациями и даже играми.
Подготовка к созданию
Перед тем как писать код, нужно подготовить инструменты и понять, что вы хотите создать. Вот что вам понадобится:
- Базовые знания HTML, CSS и JavaScript
- Текстовый редактор (VS Code, Sublime Text, или даже Notepad++)
- Хостинг для размещения файла (GitHub Pages, Vercel, Netlify - бесплатно)
- Бот в Telegram, который будет запускать ваше приложение
Важно: Mini App не работает локально. Вы не можете открыть файл index.html на телефоне и ожидать, что он запустится как Mini App. Он должен быть доступен по публичной ссылке (HTTPS!).
Создание бота для запуска Mini App
Все Mini App запускаются через ботов. Вам нужно создать бота в Telegram, если его ещё нет.
- Напишите в Telegram боту @BotFather
- Отправьте команду
/newbot - Придумайте имя и юзернейм (например,
@myminibot) - BotFather выдаст вам токен - сохраните его. Он понадобится позже.
Теперь настройте бота, чтобы он запускал Mini App. Отправьте команду:
/setminiprofile
Затем введите юзернейм своего бота (например, @myminibot) и укажите ссылку на ваше Mini App. Ссылка должна начинаться с https:// и вести на HTML-файл. Пример: https://myminibot.example.com/index.html.
После этого бот будет открывать ваше приложение при нажатии на кнопку. Для этого нужно добавить кнопку в меню бота.
Написание кода Mini App
Создайте папку на компьютере. Внутри неё сделайте три файла:
index.html- основной файлstyle.css- стилиscript.js- логика
В index.html добавьте базовую структуру:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Мой Mini App</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Добро пожаловать в мой Mini App!</h1>
<button id="sendBtn">Отправить сообщение</button>
<script src="script.js"></script>
</body>
</html>
Теперь добавьте стили в style.css. Telegram рекомендует использовать стиль, похожий на родной интерфейс мессенджера:
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
padding: 16px;
background-color: #eff2f5;
color: #1c1c1c;
}
button {
background-color: #0088cc;
color: white;
border: none;
padding: 12px 24px;
border-radius: 12px;
font-size: 16px;
margin-top: 16px;
cursor: pointer;
}
button:active {
opacity: 0.8;
}
Самое важное - добавить JavaScript, чтобы приложение взаимодействовало с Telegram. В script.js вставьте:
// Подключаем Telegram Mini Apps SDK
<script src="https://telegram.org/js/telegram-web-app.js"></script>
// Ждём, пока SDK загрузится
window.addEventListener('DOMContentLoaded', () => {
const tg = window.Telegram.WebApp;
// Расширяем окно, чтобы использовать всё пространство
tg.expand();
// Получаем данные пользователя
const user = tg.initDataUnsafe.user;
if (user) {
document.querySelector('h1').innerText = `Привет, ${user.first_name}!`;
}
// Добавляем обработчик кнопки
document.getElementById('sendBtn').addEventListener('click', () => {
tg.sendData('Сообщение от Mini App!');
});
});
Этот код подключает официальный SDK Telegram, расширяет окно приложения, получает имя пользователя и отправляет сообщение обратно в чат при нажатии кнопки. Все эти функции работают без перезагрузки и без открытия нового окна.
Размещение Mini App в интернете
Теперь нужно загрузить файлы в интернет. Выберите один из бесплатных хостингов:
- GitHub Pages - просто загрузите файлы в репозиторий, включите Pages в настройках
- Vercel - перетащите папку с файлами на сайт, он автоматически развернёт её
- Netlify - аналогично Vercel, поддерживает drag & drop
После публикации вы получите URL вида https://your-app-name.vercel.app. Скопируйте его - он понадобится для настройки бота.
Тестирование и публикация
Откройте Telegram, найдите своего бота и нажмите на кнопку. Если всё сделано правильно - вы увидите своё приложение. Проверьте:
- Открывается ли интерфейс без ошибок?
- Отправляется ли сообщение при нажатии кнопки?
- Отображается ли имя пользователя?
Если что-то не работает - откройте консоль разработчика в браузере (F12) и посмотрите на ошибки. Частые проблемы:
- Ссылка не HTTPS - Telegram не запускает приложения по HTTP
- Файл не доступен из-за CORS - убедитесь, что хостинг разрешает запросы из Telegram
- SDK не загрузился - проверьте, что скрипт
telegram-web-app.jsподключён правильно
После успешного тестирования вы можете поделиться Mini App с другими. Добавьте его в описание бота, сделайте кнопку в меню, или включите в рекламу.
Что можно делать с Mini App
Mini App - это не просто кнопка. Это полноценная платформа. Вот что уже делают разработчики:
- Игры с рейтингом и лидербордами (например, Notcoin)
- Онлайн-магазины с оплатой через TON
- Финансовые помощники: учёт расходов, калькуляторы кредитов
- Опросы и голосования внутри чатов
- Сервисы доставки еды и услуг
Telegram позволяет интегрировать платёжную систему TON. Если вы создаёте магазин, вы можете принимать оплату без комиссии. Для этого нужно подключить библиотеку tonweb и использовать функцию tg.openInvoice().
Ограничения и лучшие практики
Mini App - это мощный инструмент, но у него есть ограничения:
- Нет доступа к камере, микрофону или геолокации - только через Telegram API
- Не работает в браузерах вне Telegram
- Размер приложения ограничен - не загружайте тяжёлые файлы
- Пользователь должен дать разрешение на отправку данных
Лучшие практики:
- Делайте интерфейс простым - пользователь не будет ждать загрузки
- Используйте цвета Telegram: синий, белый, серый
- Не перегружайте кнопками - максимум 3 действия на экране
- Проверяйте работу на iOS и Android - интерфейс может отличаться
- Сохраняйте состояние пользователя - используйте
tg.setData()иtg.ready()
Что дальше?
После того как вы запустили первый Mini App, вы можете:
- Добавить авторизацию через Telegram Login
- Подключить базу данных (например, Firebase или Supabase)
- Сделать многопользовательскую игру
- Интегрировать с TON для оплаты
- Запустить рекламу через Telegram Ads
Telegram активно развивает Mini Apps. В 2025 году компания запустила программу поддержки разработчиков с грантами и маркетинговой помощью. Уже более 100 тысяч Mini Apps запущено, и число растёт на 30% каждый месяц.
Можно ли создать Mini App без знания программирования?
Да, можно. Существуют конструкторы вроде TONBuilder, BotFather Tools и Telegram Mini App Templates, где вы выбираете шаблон, меняете текст и картинки - и готово. Но такие решения ограничены. Если вы хотите полноценный функционал - нужно писать код.
Сколько стоит запустить Mini App?
Запуск бесплатный. Хостинг (GitHub Pages, Vercel) не берёт плату. Токен бота - тоже бесплатно. Если вы хотите принимать оплату через TON - комиссия 0%. Единственные возможные расходы - домен (если купите свой) или премиум-хостинг, но для старта это не нужно.
Можно ли использовать Mini App для продажи товаров?
Да, и это одна из самых популярных задач. Вы можете сделать интернет-магазин: добавить каталог, корзину, кнопку «Купить», и обработать оплату через TON. Telegram поддерживает интеграцию с кошельками вроде Tonkeeper и Tonhub. Пользователь оплачивает прямо в приложении - без перехода на сторонние сайты.
Почему Mini App не открывается в Telegram?
Самые частые причины: ссылка не HTTPS, файл не доступен (404), или вы не настроили команду /setminiprofile. Также проверьте, что вы не используете localhost. Telegram не может подключиться к вашему локальному серверу. Используйте только публичные хостинги.
Как обновить Mini App после публикации?
Просто загрузите новые файлы на хостинг. Telegram кэширует приложение, но при следующем открытии оно автоматически обновится. Если нужно срочно - попросите пользователя закрыть и снова открыть бота. Также можно добавить в код проверку версии и принудительное обновление через tg.reload().