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

Telegram-боты на Python: полный практический гид

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

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

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

Что можно и нельзя сделать ботом

Можно:

  • Принимать заявки и вести диалог по сценарию.
  • Продавать: цифровые товары, услуги, подписки, доступ к контенту.
  • Уведомлять: заказы, статусы, напоминания, алерты.
  • Давать доступ к данным: остатки, статусы, отчёты по запросу.
  • Заменять внутренний интерфейс: заявки от сотрудников, согласования, учёт.
  • Показывать полноценный интерфейс через Mini App, когда кнопок уже мало.

Нельзя или неудобно:

  • Писать пользователю первым, если он не начал диалог. Это ограничение платформы, а не техники.
  • Строить сложный интерфейс на одних кнопках - на четвёртом уровне меню пользователь теряется.
  • Хранить в переписке то, что должно быть в базе.

Стек

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

Альтернативы существуют, и они рабочие, но у aiogram лучше всего с примерами и сообществом, а на старте это решает.

Конструкторы закрывают простые сценарии без кода и упираются в потолок на нестандартном - разбор развилки в статье про конструкторы против кода.

n8n годится, когда бот - это в основном уведомления и простые сценарии поверх других автоматизаций: Telegram-бот на n8n.

Из чего состоит рабочий бот

Пять частей, и все нужны, если бот не одноразовый:

Обработчики. Команды, нажатия кнопок, сообщения. С ростом бота их разносят по роутерам, иначе один файл становится нечитаемым.

Состояние диалога. Что бот спросил и что ждёт в ответ. Хранить состояние в памяти процесса означает потерять его при перезапуске.

База данных. Пользователи, заказы, настройки. История переписки не является хранилищем.

Внешние интеграции. CRM, платежи, учётная система.

Эксплуатация. Запуск, перезапуск при падении, логи, мониторинг - см. деплой и эксплуатацию.

Что ломается в продакшене

Четыре вещи, которые не видны на этапе разработки:

Перезапуск теряет диалоги. Пользователь на середине оформления заказа, бот перезапустился, состояние в памяти исчезло. Лечится хранением состояния во внешнем хранилище.

Повторные платежи. Вебхук платёжной системы приходит дважды - это нормальное поведение при повторной доставке. Без проверки идентификатора операции вы спишете дважды - см. идемпотентные пайплайны.

Блокировка пользователем. Отправка сообщения заблокировавшему вас пользователю даёт ошибку, и необработанная ошибка в рассылке останавливает всю рассылку.

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

Куда двигаться дальше

Практический порядок:

  1. Создание бота на Python с нуля и токен от BotFather.
  2. Кнопки: обычные и инлайн - основа любого интерфейса.
  3. aiogram: роутеры, состояния, мидлвари - когда бот перерос один файл.
  4. Деплой и эксплуатация - до того, как показывать пользователям.

Дальше по задачам: приём оплаты и Telegram Stars, chat id и как его узнать, Mini Apps, корпоративные боты, конструкторы против кода и как устроена разработка как работа.

Как это выглядит на реальном проекте

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

Если нужен бот под свою задачу, а не разбор, - см. страницу услуг.

В этом гиде

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

Сколько стоит разработка Telegram-бота?

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

Нужен ли для бота свой сервер?

Для постоянной работы да, потому что бот - это процесс, который должен быть запущен всегда. Подойдёт недорогой VPS. Локальный запуск годится только для разработки: закрыли ноутбук - бот перестал отвечать.

Можно ли принимать оплату в Telegram-боте?

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

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

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

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

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

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

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

viktorTR · Kwork