Мини-приложение в Telegram: показываем удобный способ заказать автомобиль через бота
Одним из трендов 2024 года в Telegram стали Мини-приложения - это, как сайт, только в мессенджере, представляете? - Нет, я покажу!
Я Владислав, разработчик Telegram ботов. Разрабатываю на среде конструктора PuzzleBot. Возможности данного конструктора позволяют создавать от простых до сложных ботов, а сам сервис следует трендам мессенджера и выпустил обновление, в котором можно создавать Мини-приложения. Мы сразу решили внедрить эту технологию в наш проект.
Driver - это бот-сервис, который я развиваю с партнером Сергеем. Идея сервиса простая, Telegram - удобный и многофункциональный мессенджер, так почему бы в нем не сделать сервис по заказу автомобилей? Сделали 🫡
🔗Ссылка для ознакомления с ботом: https://t.me/tg_driver_bot
В данной статье, Вы узнаете:
- Что такое мини-приложение, и чем оно отличается от обычного Telegram бота
- Как через Telegram бота регистрировать пользователей
- Почему мы использовали мини-приложение для реализации отдельных функций бота
- Как прокачать группу до супергруппы и отправлять в нее заявки
- Зачем боту нужна база данных
Задача бота
Удобное оформление заявки на автомобиль через Telegram бота. Все доступные функции из подобных агрегаторов реализованы в данном боте. Вы можете заказать машину, посмотреть статус вашего заказа, получить уведомление о подаче машины, о подробном функционале я расскажу далее в статье.
Что решает бот
Сервисы по заказу машин уже давно не являются новинкой, и любая крупная компания имеет свой агрегатор и предоставляет такие услуги. Но как оказалось, люди в регионах не имеют возможности пользоваться этими агрегаторами, поэтому было решено разработать Telegram бота, и постепенно интегрировать его в разные поселки.
Как работает бот
Часть функционала выполнена через мини-приложения, часть в привычном интерфейсе Telegram. Вся логика бота настроена через PuzzleBot с применением интеграций сервиса.
Далее разберем каждую функцию отдельно.
Мини-приложения
Мини-приложения стали прорывным обновлением для всего сообщества, и вот почему:
- Нет ограничений. Да, как бы это не было грустно, но у Telegram ботов есть ограничение на количество запросов в секунду, так, если 30 человек в одну секунду запустят бота, 31й пользователь получит сообщение через некоторое время. У мини-приложений, таких ограничений нет.
- Бесшовный интерфейс. Мини-приложения имеют всем привычный формат сайта, в то время, как в боте переход от одной команды к другой реализуется, в основном, через кнопки.
- Отдельное окно. Меня очень вдохновила возможность добавлять мини-приложение на рабочий стол своего телефона. Теперь не нужно будет скачивать отдельное мобильное приложение, например, чтобы записаться на мероприятие - это очень актуально в наши дни.
- Быстро и доступно. Мобильные приложения создаются очень долго и стоят дорого. Благодаря Telegram, есть возможность создать мини-приложение от 2х недель с ценой в десятки раз ниже цены на мобильное приложение.
В нашем проекте через мини-приложения работают регистрации пользователей: пассажиров и водителей. А также, через мини-приложение сделали оформление заявки на машину.
Регистрация пользователей
Пользователям бывает сложно заполнить все данные для регистрации через бота и не совершить ошибку, тут мини-приложение оказалось очевидным выходом сразу по ряду причин:
- Все в одном окне, пользователь видит введенные данные и может их сразу изменить
- Удобный интерфейс и приятный дизайн. Гибкость в настройке от выбора цвета кнопки до загрузки фонового изображения для всего мини-приложения
- Для каждого формата данных в конструкторе есть свой блок. Например, при запросе фотографии, пользователю доступна кнопка, при нажатии на которую, откроется галерея и предложит выбрать изображение
Логика работы
Главная функция бота - это работа с заявками, поэтому важно, чтобы каждый этап отрабатывал стабильно, и бот моментально реагировал на любые изменения.
Мини-приложение позволило сократить количество запросов при формировании заявки с 7 запросов (каждый вопрос в заявке = одному запросу в Telegram) от одного пользователя до 1 запроса, такой запрос отправляется для публикации заявки в группу.
Заявки в группе
Для водителей была реализована группа, куда приходят все заявки. Доступ в группу открывает бот после прохождения регистрации и верификации от администратора.
Заявка - это пост в группу от бота с кнопкой. При нажатии на кнопку, пользователя перенаправляет в бот, где уже проверяется статус заказа, и ,если заявка актуальна, пользователь становится исполнителем, а сам пост с заявкой удаляется из группы.
База данных - nocoDB
Для работы такого масштабного проекта обязательно подключать базу данных к боту. В нашем проекте мы подключили nocoDB - база данных, которая позволяет хранить разные типы данных в ячейках. Что дает база данных боту:
- Все нужные данные, которые поступают в бот, фиксируются в таблице. Мы получаем данные в удобном формате для работы вручную или подключения дополнительных интеграций
- При необходимости, бот может обращаться к этой таблице или определенной ячейке, чтобы изменить данные. Например, таким образом работает изменение статуса заявки
- Через интегрированные переменные бот может получить необходимые данные из таблицы. Так работает личный кабинет у пользователей бота
В итоге
Мы решили сразу несколько задач данным ботом:
Удобно для пассажиров. Через мини-приложения получилось упросить регистрацию пользователям, а каждая новая заявка меньше влияет на производительность бота (в 7 раз)
Удобно для водителей. Единая группа с заявками
Мы продолжаем развивать проект Driver, в ближайших планах - подключить заявки для курьеров и разработать мини-приложения для разных функций бота.
Спасибо, что прочитали 🫶🏻 Если Вы хотите внедрить мини-приложение для Вашего проекта, пишите мне - @serebertsevv. Посмотреть другие работы можно в канале - Бот ис лав
Выглядит действительно интересно 👍
Действительно интересно указывать адрес не на карте а вводя улицу вручную, такого не видел еще