Как создать мини-приложение в Telegram

Мини-приложение в Telegram это веб-страница на HTML и JavaScript, которую бот открывает внутри мессенджера. Создайте бота в @BotFather, подключите к странице скрипт telegram-web-app.js и привяжите её адрес к боту: кнопкой меню через /setmenubutton или главным мини-приложением в Bot Settings. После этого приложение запускают из чата с ботом или по ссылке t.me.

6 шагов · обновлено

Смартфон с макетом приложения у ноутбука с открытым кодом

Как создать мини-приложение: 6 шагов

  1. Создайте бота

    В @BotFather отправьте /newbot, задайте имя и юзернейм с окончанием bot. Мини-приложение всегда запускается из бота.

  2. Сделайте веб-страницу

    Сверстайте страницу на HTML и JavaScript и опубликуйте её по ссылке. В тег head первым скриптом подключите https://telegram.org/js/telegram-web-app.js: через объект Telegram.WebApp страница связывается с Telegram.

  3. Привяжите кнопку меню

    В @BotFather отправьте /setmenubutton или откройте Bot Settings > Menu Button. Укажите текст кнопки и адрес страницы: кнопка появится слева от поля ввода у всех пользователей бота.

  4. Настройте главное мини-приложение

    В /mybots выберите бота, затем Bot Settings > Configure Mini App. В профиле бота появится кнопка Launch app, туда же загружают демо-видео и скриншоты. Приложение будет открываться по ссылке t.me/имябота?startapp.

  5. Проверьте на тестовом сервере

    Для проверок есть тестовый сервер Telegram. В Telegram Desktop откройте ☰ Settings, сделайте Shift + Alt + правый клик по Add Account и выберите Test Server. На iPhone 10 раз нажмите на значок Settings, затем Accounts > Login to another account > Test.

  6. Включите отладку

    На Android включите отладку по USB, в настройках Telegram дважды нажмите и удерживайте номер версии внизу и выберите Enable WebView Debug. Потом подключите телефон к компьютеру и откройте chrome://inspect/#devices в Chrome.

Как бот запускает мини-приложение и что выбрать

СпособГде настраиваетсяКогда подходит
Кнопка меню@BotFather: /setmenubutton или Bot Settings > Menu ButtonПриложение нужно под рукой в чате с ботом
Главное мини-приложение@BotFather: Bot Settings > Configure Mini AppБот и есть приложение: кнопка Launch app в профиле, вкладка Apps в поиске
Кнопка под сообщениемВ коде бота, кнопка типа web_appПриложению нужно отправить сообщение в чат от имени пользователя
Кнопка клавиатурыВ коде бота, кнопка клавиатуры типа web_appПростая форма: данные вернутся боту методом sendData
Прямая ссылкаt.me/имябота?startapp=параметрСсылка в канале или на сайте, параметр уходит в приложение

Пример: кнопка меню через BotFather

Вы: /setmenubutton

BotFather просит выбрать бота. Вы выбираете @spisok_pokupok_bot.

BotFather просит адрес страницы и текст кнопки. Вы отправляете https://example.com/list/ и «Открыть список».

Итог: в чате с ботом слева от поля ввода появилась кнопка «Открыть список». Она открывает страницу внутри Telegram.

Можно ли сделать мини-приложение без программирования

Мини-приложение это обычная веб-страница, поэтому для витрины или формы подойдёт любой способ собрать сайт, который отдаёт страницу по ссылке. Адрес такой страницы привязывают к боту в @BotFather.

Чтобы страница знала тему оформления Telegram и данные пользователя, нужен скрипт telegram-web-app.js. Для оплаты и ответов боту без кода не обойтись.

Как сделать мини-приложение в боте с оплатой

Цифровые товары внутри мини-приложения продают за Telegram Stars, физические через счета подключённого платёжного провайдера. Успешные приложения с главным мини-приложением и оплатой в Stars Telegram может показать в подборке Telegram Mini App Store.

Что учесть в интерфейсе

Telegram советует учитывать безопасную зону экрана, чтобы элементы Telegram не перекрывали кнопки приложения, особенно в полноэкранном режиме. На слабых Android-телефонах лучше сократить анимации.

Боты из каталога для этой задачи

  • BotFather@BotFather · бот

    создать бота, получить токен бота, настроить бота

    проверено Бесплатноанглийский

    Открыть бота
  • Durger King@durgerkingbot · мини-приложение

    посмотреть, как работает мини-приложение, открыть мини-приложение в Telegram

    проверено Демо, еда вымышленнаяанглийский

    Открыть приложение

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

Как сделать мини приложение в телеграм боте?

Создайте бота в @BotFather, опубликуйте веб-страницу со скриптом telegram-web-app.js и привяжите её адрес к боту командой /setmenubutton или в Bot Settings > Configure Mini App.

Есть ли конструктор мини приложений в телеграм?

В документации Telegram отдельного конструктора нет: мини-приложение это веб-страница. Её собирают любым инструментом для сайтов и подключают к боту через @BotFather.

Как открыть своё мини приложение по ссылке?

После настройки главного мини-приложения работает ссылка t.me/имябота?startapp. Текст после startapp= приложение получит как параметр запуска.

Можно ли проверить мини приложение до запуска?

Да, на тестовом сервере Telegram с отдельным тестовым аккаунтом. В Telegram Desktop его добавляют через Shift + Alt + правый клик по Add Account в настройках.

Источники

Обновлено