Каждую неделю в Telegram-канале BotKraft появляется минимум один вопрос: «как самому сделать бота?». Ответ зависит от того, что вам нужно: бот-визитка с FAQ для салона - реально собрать самому за пару часов в no-code конструкторе. Бот для интернет-магазина с интеграцией CRM, платежей и AI-квалификации лидов - проще нанять разработчика на 1-2 недели, чем учиться 3 месяца. В этой статье - 5 инструментов с разной кривой обучения, пошаговые гайды на Salebot и aiogram с реальным кодом, и честный ответ когда стоит делать самому, а когда платить.
TL;DR: 5 инструментов для Telegram-бота
| Инструмент | Тип | Время на старт | Потолок сложности | Цена |
|---|---|---|---|---|
| Salebot | no-code конструктор | 30-60 минут | до 80% задач МСБ | 2 999 ₽/мес |
| BotHelp | no-code конструктор | 30-60 минут | до 70% задач + рассылки | 1 599 ₽/мес |
| n8n | visual workflow | 2-4 часа | любая логика + интеграции | 700 ₽/мес VPS |
| Python + aiogram 3.x | код | 1-2 дня | без ограничений | 700 ₽/мес VPS |
| Node.js + telegraf | код | 1-2 дня | без ограничений | 700 ₽/мес VPS |
Шаг 0: получаем токен через BotFather
Этот шаг одинаковый для всех инструментов. Открываем в Telegram бота @BotFather, отправляем команду /newbot, придумываем имя и username (заканчивается на _bot), получаем токен вида 8730010071:AAFvVxJ9....
Важно: токен - это пароль вашего бота. Никогда не публикуйте его в открытых репозиториях, не отправляйте в чаты. Если токен утёк - сразу /revoke в BotFather и получаете новый.
Этот же токен будем использовать во всех 5 инструментах ниже.
Способ 1: Salebot за 30 минут (бот записи в стоматологию)
Salebot - наиболее универсальный no-code конструктор. Подходит для 80% задач малого и среднего бизнеса. Регистрируемся на salebot.pro, выбираем тариф «Бизнес» (есть пробный период), вставляем токен бота в настройках.
Базовый сценарий бота записи на приём:
- Пользователь жмёт
/start→ бот спрашивает «Здравствуйте! На какую процедуру записаться?» - Кнопки: «Чистка», «Лечение кариеса», «Имплант», «Другое»
- После выбора процедуры - кнопки «На завтра», «На послезавтра», «На эту неделю»
- Бот предлагает свободные слоты из календаря (интеграция Google Calendar или встроенный)
- Пользователь выбирает слот → бот запрашивает имя и телефон
- Финальный шаг: оплата вперёд через CloudPayments или Prodamus (опционально)
- Подтверждение записи + напоминание за день и за час до приёма
В Salebot это собирается мышью: открываете «Конструктор» → создаёте «Стартовый блок» с приветствием → добавляете «Кнопочные ответы» → между блоками рисуете стрелки. Интеграция с календарём - один клик в разделе «Подключения».
Полный сценарий записи занимает 25-50 блоков. Время на сборку с нуля - 30-60 минут, если у вас есть пример соседнего бота для подсматривания.
Что не получится в Salebot из коробки:
- Сложная LLM-интеграция (есть, но базовая - для серьёзного RAG нужен n8n или код)
- Кастомный интерфейс с webview
- Тяжёлая аналитика поведения пользователей
Способ 2: BotHelp за 30 минут
BotHelp ближе к маркетинговым задачам - сильнее в массовых рассылках, A/B-тестах, сегментации аудитории. Если ваша главная задача - воронка из бесплатного материала в платный курс с прогревом по 4-5 шагам, BotHelp удобнее Salebot.
Особенности:
- Встроенный визуальный конструктор воронок с разветвлениями
- Сильный модуль рассылок: можно делать рассылку по тегам, по поведению, с разделением A/B
- Дешевле Salebot на простых ботах (1 599 ₽/мес против 2 999 ₽)
- Слабее в долгосрочных диалогах - state-machine ограничен по числу состояний
Регистрация и подключение токена - те же 5 минут. Сценарий простого бота-приветствия с прогревом - те же 30-60 минут.
Способ 3: n8n - когда нужны 3+ интеграции
n8n - не классический «конструктор бота», а движок workflow с 400+ интеграциями. Telegram-бот в n8n - это workflow, который слушает Telegram-webhook, обрабатывает сообщения, дёргает другие сервисы, отвечает обратно.
Минимальный workflow «бот, принимающий заявки и кладущий в AmoCRM»:
[Telegram Trigger: новое сообщение]
↓
[Code: парсинг текста]
↓
[If: содержит ключевое слово "заявка"?]
↓ true
[AmoCRM: создать сделку]
↓
[Telegram: "Заявка принята, менеджер свяжется"]
5 узлов, 1-2 часа на сборку. Подробный разбор архитектуры и production-конфига - в отдельной статье про n8n.
n8n идеален когда нужны:
- 3+ внешних сервиса (CRM, платежи, эмбеддинги, БД, нотификации)
- Сложная логика с очередями и ретраями
- Self-hosted на своём VPS (соответствие 152-ФЗ)
- Возможность вкладывать кастомный JS-код в любой узел
Пороги входа выше, чем у Salebot, но потолок сложности тоже выше.
Способ 4: Python с aiogram 3.x за 50 строк кода
Если вы (или ваш разработчик) умеете в Python - aiogram 3.x даёт максимальный контроль при минимальном бойлерплейте.
Минимальный echo-бот с инлайн-клавиатурой:
import asyncio
from aiogram import Bot, Dispatcher, types
from aiogram.filters import Command
from aiogram.utils.keyboard import InlineKeyboardBuilder
BOT_TOKEN = "8730010071:AAFvVxJ9..."
bot = Bot(token=BOT_TOKEN)
dp = Dispatcher()
@dp.message(Command("start"))
async def cmd_start(message: types.Message):
builder = InlineKeyboardBuilder()
builder.button(text="Записаться", callback_data="book")
builder.button(text="Цены", callback_data="prices")
builder.adjust(1)
await message.answer(
"Здравствуйте! Чем помочь?",
reply_markup=builder.as_markup(),
)
@dp.callback_query()
async def on_callback(callback: types.CallbackQuery):
if callback.data == "book":
await callback.message.answer("Выберите дату...")
elif callback.data == "prices":
await callback.message.answer("Прайс по ссылке: ...")
await callback.answer()
@dp.message()
async def echo(message: types.Message):
await message.answer(f"Вы написали: {message.text}")
async def main():
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
Это полностью рабочий echo-бот с inline-клавиатурой. Ставим зависимость одной командой:
pip install aiogram==3.x
Запуск: python bot.py. На локалке работает сразу через polling. Для production - переезд на webhook через nginx и SSL.
Когда писать на aiogram, а не использовать конструктор:
- Нужны нестандартные фичи (custom inline-режимы, веб-аппы внутри бота)
- Бот - часть существующего Python-сервиса
- Команда уже пишет на Python, держать ещё и no-code сложно
- Высокие требования к latency (aiogram отвечает за 50-100ms против 200-500ms у конструкторов)
Способ 5: Node.js с telegraf
Альтернатива aiogram для JS-команд. Telegraf - самая популярная JS-обёртка над Telegram Bot API.
Минимальный пример:
const { Telegraf, Markup } = require('telegraf');
const bot = new Telegraf(process.env.BOT_TOKEN);
bot.command('start', (ctx) => {
ctx.reply(
'Здравствуйте! Чем помочь?',
Markup.inlineKeyboard([
[Markup.button.callback('Записаться', 'book')],
[Markup.button.callback('Цены', 'prices')],
])
);
});
bot.action('book', (ctx) => {
ctx.answerCbQuery();
ctx.reply('Выберите дату...');
});
bot.on('text', (ctx) => {
ctx.reply(`Вы написали: ${ctx.message.text}`);
});
bot.launch();
Установка: npm install telegraf. Запуск: node bot.js.
По функционалу - полный аналог aiogram. Выбор Python vs Node.js - чисто вопрос вашей команды.
Сравнительная таблица: на чём собирать что
| Задача | Salebot | BotHelp | n8n | Aiogram | Telegraf |
|---|---|---|---|---|---|
| Бот записи на услугу | ✅ идеально | ✅ ОК | ⚠️ overkill | ⚠️ overkill | ⚠️ overkill |
| FAQ-бот с 50 ответами | ✅ идеально | ✅ ОК | ⚠️ можно | ⚠️ можно | ⚠️ можно |
| Воронка прогрева на 5-7 шагов | ✅ ОК | ✅ идеально | ⚠️ можно | ⚠️ можно | ⚠️ можно |
| Интеграция с AmoCRM/Bitrix24 | ✅ есть | ⚠️ слабее | ✅ идеально | ✅ можно | ✅ можно |
| AI-квалификация лидов через GPT | ⚠️ базовая | ⚠️ базовая | ✅ идеально | ✅ идеально | ✅ идеально |
| Бот с веб-приложением (mini-app) | ❌ нет | ❌ нет | ⚠️ через код | ✅ идеально | ✅ идеально |
| Высокие требования к скорости | ❌ медленнее | ❌ медленнее | ⚠️ зависит | ✅ идеально | ✅ идеально |
| Платежи через Prodamus/CloudPayments | ✅ есть | ✅ есть | ✅ через API | ✅ можно | ✅ можно |
| Команда без программистов | ✅ идеально | ✅ идеально | ⚠️ нужен инженер | ❌ нет | ❌ нет |
Деплой на сервер: docker и webhook через nginx
Для production-бота на Python или Node.js нужен сервер с публичным IP и SSL-сертификатом. Минимальная конфигурация на VPS Beget или Timeweb за 700 ₽/мес.
Docker-compose для aiogram-бота:
version: "3.8"
services:
bot:
build: .
restart: unless-stopped
environment:
BOT_TOKEN: ${BOT_TOKEN}
WEBHOOK_URL: https://bot.example.ru/webhook
ports:
- "127.0.0.1:8080:8080"
Nginx:
server {
listen 443 ssl http2;
server_name bot.example.ru;
ssl_certificate /etc/letsencrypt/live/bot.example.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/bot.example.ru/privkey.pem;
location /webhook {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Сертификат через certbot: certbot --nginx -d bot.example.ru. После деплоя - регистрируем webhook в Telegram:
curl -X POST "https://api.telegram.org/bot<TOKEN>/setWebhook" \
-d "url=https://bot.example.ru/webhook"
3 типичные ошибки новичков
1. Хранят токен в коде. Через неделю код попадает в публичный GitHub-репозиторий, через два дня кто-то находит токен и угоняет бота. Решение: всегда через env-переменные или секрет-менеджер. В git - только .env.example без значений.
2. Не делают бэкапы базы. Бот работает на Salebot или Python с PostgreSQL, всё хорошо. Через полгода диск умирает или ошибочно DROP TABLE - и потеря всех диалогов и настроек. Решение: ежедневный pg_dump с хранением минимум 30 дней в двух местах.
3. Игнорируют rate limits Telegram API. Telegram режет на 30 сообщений в секунду от одного бота. Если делаете рассылку на 5000 пользователей за раз - бот блокируется на 1-2 часа. Решение: throttle через asyncio.sleep или библиотеку aiogram-broadcaster.
Когда не пытаться сделать самому
Это честный вопрос, который стоит задать перед стартом. Задачи, где самостоятельная разработка обходится дороже найма:
-
AI-блок с базой знаний. Нужно понимание embeddings, vector search, чанкования, оценки качества ответов. Без опыта - 2-3 месяца на изучение, плюс высокий риск, что бот будет галлюцинировать.
-
Рекуррентные платежи и сложная биллинг-логика. Платежные API имеют тонкости: ретраи, обработка отказов, чарджбэки, тестовый/боевой режимы. Ошибка стоит денег и репутации.
-
Срочный запуск. Учиться 3 недели, когда запуск через 5 дней - не вариант.
-
Бот критичный для бизнес-операций. Если падение бота останавливает поток клиентов или продажи - нужен опытный исполнитель и SLA.
В остальных случаях - смело пробуйте сами. Бот для записи в свой салон или FAQ для своего магазина - лучшее обучение на собственном опыте.
FAQ
Сколько стоит держать бота?
VPS - 500-1500 ₽/мес. Salebot - от 2 999 ₽/мес за тариф «Бизнес». BotHelp - от 1 599 ₽/мес. Telegram-API бесплатный, кроме Premium-функций (Stars, Stories). LLM-токены - 0-300 долларов в зависимости от объёма.
Можно ли держать бота на бесплатном тарифе?
Salebot/BotHelp - есть пробный период, потом обязательный платный. Свой код на VPS - есть бесплатные облачные options (Render, Railway free tier), но они нестабильны и не подходят для production.
Сколько активных пользователей выдержит бот?
aiogram/telegraf на VPS за 700 ₽ - 10 000-50 000 одновременных пользователей. Конструкторы лимитируют по тарифу: Salebot Бизнес - до 5 000 активных в месяц, выше - дороже.
Что лучше для AI-бота: Python или Node.js?
Python экосистема для AI зрелее (langchain, llama-index, чёткие embeddings-обёртки). Node.js быстрее в setup и дешевле на VPS из-за меньшего потребления памяти. Для серьёзного AI-бота - Python; для быстрого старта - Node.js.
Можно ли мигрировать с Salebot на свой код?
Да, экспорт сценария - через копирование вручную или через API Salebot. Полная миграция занимает 30-50% времени от первоначальной разработки.
Как защитить бота от спама?
Rate-limit на уровне webhook (одного пользователя - не более 1 сообщения в секунду), CAPTCHA при первом контакте, фильтр по user_id черного списка. В aiogram это делается middleware за 30 строк кода.
Что делать, если бот упал?
Auto-restart через restart: unless-stopped в docker-compose. Алерты через uptime-кобота. Логирование через Sentry. На критичных ботах - dual-deploy на двух VPS с балансировщиком.
Стоит ли учить Telegram Bot API?
Если хотите делать ботов профессионально - да, базовое понимание полезно. Если делаете один-два проекта для своего бизнеса - достаточно знаний на уровне конструктора, технические детали возьмёт на себя Salebot/BotHelp.
Что дальше
Если за пару попыток у вас не получается, или задача оказалась сложнее, чем вы думали - напишите в Telegram или через форму. Часто после 30-минутного созвона становится ясно: либо вы доделываете сами по подсказкам, либо мы быстро собираем за 2-3 дня.
Связанные материалы:
- Salebot или BotHelp 2026: сравнение конструкторов
- Чат-бот для бизнеса 2026: что это, сколько стоит и как выбрать
- Автоматизация на n8n для бизнеса 2026
- GigaChat или YandexGPT 2026: что выбрать для AI-блока
Полезные ссылки на официальные документации: