Перейти к содержимому
PD
Telegram-боты

Разработка Telegram-ботов на Python: как устроен процесс

Что входит в работу по разработке бота, из чего складывается стек и сроки, что влияет на стоимость сильнее всего и как принимать результат, чтобы не получить демо.

Все статьи гида Telegram-боты · 13

Разработка бота выглядит простой задачей, и основной сценарий действительно собирается быстро. Всё остальное время уходит на то, что происходит, когда что-то идёт не так.

Что входит в работу

Пять частей, примерно в таком порядке трудозатрат:

  1. Сценарий и требования. Что бот делает, что говорит, что происходит при неверном вводе. Делается вместе с заказчиком; пропустить нельзя.
  2. Интеграции. Платежи, CRM, учётная система, внешние API. Здесь обычно выясняется, что нужного API нет или в нём нет нужного поля.
  3. Данные. Что храним, где и как долго.
  4. Сам бот. Обработчики, состояния, клавиатуры. Самая быстрая часть.
  5. Эксплуатация. Деплой, автозапуск, логи, мониторинг.

Пункт 4 - тот, который представляют как «разработку бота». На него уходит меньшая часть времени.

Стек

aiogram для Python: асинхронный, с нормальной структурой проекта. Разбор - aiogram.

База данных. Обычная реляционная. Нужна почти всегда: пользователи, заказы, состояние.

Хранилище состояний диалога. Отдельно от памяти процесса, иначе перезапуск теряет диалоги.

Очередь - если есть рассылки. Отправка десяти тысячам сообщений циклом упирается в лимиты платформы.

Сервер. Недорогой VPS. Бот - это процесс, который должен быть запущен всегда - см. деплой.

Что влияет на стоимость

По убыванию:

Платежи. Не сама кнопка оплаты, а логика вокруг: заказы, статусы, повторные подтверждения, возвраты, отчётность - см. приём оплаты.

Интеграции. Каждая внешняя система - это выяснение её возможностей, доступы и обработка её сбоев. Если API нет, задача превращается в другую по объёму.

Хранение и права доступа. Личный кабинет, роли, разграничение видимости.

Объём рассылок. Тысяча пользователей и сто тысяч - разные инженерные задачи.

Mini App. Полноценный веб-интерфейс внутри мессенджера - это фронтенд-разработка сверх бота, см. Mini Apps.

Что почти не влияет: число кнопок и экранов. Именно поэтому оценка по описанию сценария без вопросов про платежи и интеграции почти всегда занижена.

Сроки

Ориентиры, которые обычно оказываются близкими к правде:

  • Бот-анкета с уведомлениями: несколько дней.
  • Бот с каталогом и приёмом оплаты: одна-две недели.
  • Бот с личным кабинетом и интеграцией с внешней системой: две-четыре недели.
  • Бот с Mini App: плюс отдельный фронтенд.

Сроки резко растут, если нужных интеграций нет и их надо делать с нуля. Это стоит выяснить до оценки.

Как принимать результат

Демонстрация основного сценария ничего не доказывает: он работает почти всегда. Проверять надо сбои.

Что требовать:

  • Оплата не прошла. Что видит пользователь и что происходит с заказом.
  • Повторное подтверждение платежа. Товар не должен выдаться дважды.
  • Перезапуск в середине диалога. Пользователь не должен начинать заново.
  • Пользователь заблокировал бота. Рассылка должна продолжиться, а не упасть.
  • Неверный ввод. Текст вместо числа, отправка файла вместо ответа.
  • Данные в базе, а не в памяти. Проверяется перезапуском.
  • Логи. Без них разбор инцидента невозможен.
  • Доступы у вас. Токен, сервер, база должны быть под вашим контролем, а не только у исполнителя.

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

Как это выглядит на реальном проекте - бот продажи курсов. Обсудить свою задачу - услуги. Обзор - гид по Telegram-ботам.

Вопросы и ответы

Сколько времени занимает разработка Telegram-бота?

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

Что сильнее всего влияет на стоимость бота?

Три вещи: наличие платежей, число интеграций с внешними системами и требования к хранению данных. Число кнопок и экранов почти не влияет. Именно поэтому оценка по описанию сценария без вопросов про платежи и интеграции обычно оказывается заниженной.

Как принять работу по боту?

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

Ещё по теме

Сделаю под ключ

Сделаю Telegram-бота под ваш процесс

Заявки, оплата, выдача доступа, рассылки и воронка в одном боте, с админкой для вас.

от 300 $ · 3-7 дней

Похожий кейсTelegram-бот воронки продаж для онлайн-курсовTelegram-бот, который ведёт всю воронку - лид-магнит → гайд → интенсив → курс - с оплатой, автовыдачей доступа и админ-панелью.

«Действительно гуру своего дела. Узнал массу новой и полезной информации по телеграм рассылкам. До этого сжег очень много денег на оплате услуг посредников, но после общения с исполнителем буду делать все сам)»

viktorTR · Kwork