Мини-приложение в Telegram: показываем удобный способ заказать автомобиль через бота

Одним из трендов 2024 года в Telegram стали Мини-приложения - это, как сайт, только в мессенджере, представляете? - Нет, я покажу!

Я Владислав, разработчик Telegram ботов. Разрабатываю на среде конструктора PuzzleBot. Возможности данного конструктора позволяют создавать от простых до сложных ботов, а сам сервис следует трендам мессенджера и выпустил обновление, в котором можно создавать Мини-приложения. Мы сразу решили внедрить эту технологию в наш проект.

Driver - это бот-сервис, который я развиваю с партнером Сергеем. Идея сервиса простая, Telegram - удобный и многофункциональный мессенджер, так почему бы в нем не сделать сервис по заказу автомобилей? Сделали 🫡

🔗Ссылка для ознакомления с ботом: https://t.me/tg_driver_bot

В данной статье, Вы узнаете:

  • Что такое мини-приложение, и чем оно отличается от обычного Telegram бота
  • Как через Telegram бота регистрировать пользователей
  • Почему мы использовали мини-приложение для реализации отдельных функций бота
  • Как прокачать группу до супергруппы и отправлять в нее заявки
  • Зачем боту нужна база данных

Задача бота

Удобное оформление заявки на автомобиль через Telegram бота. Все доступные функции из подобных агрегаторов реализованы в данном боте. Вы можете заказать машину, посмотреть статус вашего заказа, получить уведомление о подаче машины, о подробном функционале я расскажу далее в статье.

Структура бота в конструкторе
Структура бота в конструкторе

Что решает бот

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

Как работает бот

Часть функционала выполнена через мини-приложения, часть в привычном интерфейсе Telegram. Вся логика бота настроена через PuzzleBot с применением интеграций сервиса.

Далее разберем каждую функцию отдельно.

Демонстрация работы бота для пассажира

Мини-приложения

Мини-приложения стали прорывным обновлением для всего сообщества, и вот почему:

  1. Нет ограничений. Да, как бы это не было грустно, но у Telegram ботов есть ограничение на количество запросов в секунду, так, если 30 человек в одну секунду запустят бота, 31й пользователь получит сообщение через некоторое время. У мини-приложений, таких ограничений нет.
  2. Бесшовный интерфейс. Мини-приложения имеют всем привычный формат сайта, в то время, как в боте переход от одной команды к другой реализуется, в основном, через кнопки.
  3. Отдельное окно. Меня очень вдохновила возможность добавлять мини-приложение на рабочий стол своего телефона. Теперь не нужно будет скачивать отдельное мобильное приложение, например, чтобы записаться на мероприятие - это очень актуально в наши дни.
  4. Быстро и доступно. Мобильные приложения создаются очень долго и стоят дорого. Благодаря Telegram, есть возможность создать мини-приложение от 2х недель с ценой в десятки раз ниже цены на мобильное приложение.

В нашем проекте через мини-приложения работают регистрации пользователей: пассажиров и водителей. А также, через мини-приложение сделали оформление заявки на машину.

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

Регистрация пользователей

Пользователям бывает сложно заполнить все данные для регистрации через бота и не совершить ошибку, тут мини-приложение оказалось очевидным выходом сразу по ряду причин:

  1. Все в одном окне, пользователь видит введенные данные и может их сразу изменить
  2. Удобный интерфейс и приятный дизайн. Гибкость в настройке от выбора цвета кнопки до загрузки фонового изображения для всего мини-приложения
  3. Для каждого формата данных в конструкторе есть свой блок. Например, при запросе фотографии, пользователю доступна кнопка, при нажатии на которую, откроется галерея и предложит выбрать изображение
Регистрация пассажира через мини-приложение

Логика работы

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

Мини-приложение позволило сократить количество запросов при формировании заявки с 7 запросов (каждый вопрос в заявке = одному запросу в Telegram) от одного пользователя до 1 запроса, такой запрос отправляется для публикации заявки в группу.

Слева форма заявки через интерфейс Telegram, где каждый блок - это отдельный запрос. Справа мини-приложение - единая форма заявки
Слева форма заявки через интерфейс Telegram, где каждый блок - это отдельный запрос. Справа мини-приложение - единая форма заявки

Заявки в группе

Для водителей была реализована группа, куда приходят все заявки. Доступ в группу открывает бот после прохождения регистрации и верификации от администратора.

Заявка - это пост в группу от бота с кнопкой. При нажатии на кнопку, пользователя перенаправляет в бот, где уже проверяется статус заказа, и ,если заявка актуальна, пользователь становится исполнителем, а сам пост с заявкой удаляется из группы.

Демонстрация заявки в группе и работа статусов через бота
Демонстрация заявки в группе и работа статусов через бота

База данных - nocoDB

Для работы такого масштабного проекта обязательно подключать базу данных к боту. В нашем проекте мы подключили nocoDB - база данных, которая позволяет хранить разные типы данных в ячейках. Что дает база данных боту:

  1. Все нужные данные, которые поступают в бот, фиксируются в таблице. Мы получаем данные в удобном формате для работы вручную или подключения дополнительных интеграций
  2. При необходимости, бот может обращаться к этой таблице или определенной ячейке, чтобы изменить данные. Например, таким образом работает изменение статуса заявки
  3. Через интегрированные переменные бот может получить необходимые данные из таблицы. Так работает личный кабинет у пользователей бота
База данных nocoDB в табличном виде для бота
База данных nocoDB в табличном виде для бота

В итоге

Мы решили сразу несколько задач данным ботом:

  • Удобно для пассажиров. Через мини-приложения получилось упросить регистрацию пользователям, а каждая новая заявка меньше влияет на производительность бота (в 7 раз)

  • Удобно для водителей. Единая группа с заявками

Мы продолжаем развивать проект Driver, в ближайших планах - подключить заявки для курьеров и разработать мини-приложения для разных функций бота.

Составили прототипы будущих функций бота
Составили прототипы будущих функций бота

Спасибо, что прочитали 🫶🏻 Если Вы хотите внедрить мини-приложение для Вашего проекта, пишите мне - @serebertsevv. Посмотреть другие работы можно в канале - Бот ис лав

55
11
реклама
разместить
3 комментария

Выглядит действительно интересно 👍

1

Действительно интересно указывать адрес не на карте а вводя улицу вручную, такого не видел еще

2