ботыTelegramавтоматизацияпродажи

Telegram-боты для автоматизации продаж: создание, развёртывание и масштабирование

3 мин чтения

Техническое руководство по созданию Telegram-ботов для B2B-продаж: архитектура, обработка сообщений, интеграция с CRM, масштабирование.

Telegram-боты для автоматизации продаж: создание, развёртывание и масштабирование

Telegram-боты автоматизируют разговоры в масштабе. Хорошо построенный бот обрабатывает 80% продажных взаимодействий, освобождая менеджеров для закрытия сделок. Это руководство описывает архитектуру, реализацию и масштабирование.

Архитектура бота

Компоненты

Telegram Bot API
    ↓
Маршрутизатор сообщений
    ↓
┌─────────────────┐
│ Реестр обработчиков │
├─────────────────┤
│ Обработчик команд   │  /start, /help, /pricing
│ Обработчик сообщений│  Свободный текст
│ Обработчик callback │  Inline-клавиатуры
│ Обработчик медиа    │  Фото, документы
└─────────────────┘
    ↓
┌─────────────────┐
│ Бизнес-логика   │
├─────────────────┤
│ Квалификатор    │  BANT-скоринг
│ Генератор ответов│  AI или шаблоны
│ Синхронизация CRM│  Создание/обновление лида
│ Аналитика       │  Трекинг событий
└─────────────────┘
    ↓
Telegram Bot API (отправка сообщения)

Стек технологий

КомпонентРекомендация
ЯзыкPython (Telethon)
ФреймворкTelethon
База данныхPostgreSQL + Redis
AIOpenRouter
РазвёртываниеDocker на VPS

Реализация

Базовая настройка бота

from telethon import TelegramClient, events

bot = TelegramClient('bot', api_id, api_hash)

@bot.on(events.NewMessage(pattern='/start'))
async def handle_start(event):
await event.respond(
"Добро пожаловать! Я могу помочь с:\n"
"1. Демо продукта\n"
"2. Информация о ценах\n"
"3. Технические вопросы\n\n"
"Что вас интересует?"
)

Классификация сообщений

async def classify_message(text):
    text_lower = text.lower()
    
    if any(kw in text_lower for kw in ['цена', 'pricing', 'стоимость']):
        return 'pricing'
    if any(kw in text_lower for kw in ['демо', 'demo', 'показать']):
        return 'demo'
    if any(kw in text_lower for kw in ['проблема', 'ошибка', 'help']):
        return 'support'
    
    return await ai_classify(text)

Квалификация лида

async def qualify_lead(conversation_history):
    score = 0
    signals = []
    
    for message in conversation_history:
        text = message.text.lower()
        
        if any(w in text for w in ['бюджет', 'budget', 'цена']):
            score += 30
            signals.append('budget')
        
        if any(w in text for w in ['решаю', 'команда']):
            score += 25
            signals.append('authority')
        
        if any(w in text for w in ['нужно', 'проблема', 'ищу']):
            score += 30
            signals.append('need')
        
        if any(w in text for w in ['сейчас', 'скоро', 'квартал']):
            score += 15
            signals.append('timeline')
    
    return {'score': min(score, 100), 'qualified': score >= 70, 'signals': signals}

Масштабирование

Вертикальное

Ресурс1K пользователей10K100K
CPU2 ядра48
RAM2GB4GB8GB
БД10GB50GB200GB

Горизонтальное

Для 10K+ одновременных пользователей:

  1. Очередь сообщений: Redis/RabbitMQ для буферизации

  2. Пул воркеров: Несколько экземпляров бота

  3. Пул соединений БД: PgBouncer

  4. Балансировщик нагрузки


Лимиты Telegram

  • 30 сообщений в секунду разным пользователям
  • 20 сообщений в минуту в одну группу
  • 1 сообщение в секунду одному пользователю

Заключение

Telegram-боты автоматизируют повторяемое в продажах: начальный ответ, квалификация, планирование, follow-up. Строить на Telethon, интегрировать с CRM, разворачивать на Docker и масштабировать через очереди сообщений. Бот обрабатывает 80% взаимодействий; команда закрывает 20%, которые решают.