· 6 мин чтения

Как я собрал бота для приёмки заказов за 3 дня

Задача

Клиент — служба доставки в Москве. Менеджеры принимали заказы через WhatsApp, копировали данные в таблицу вручную, теряли заявки в потоке сообщений. Нужен был бот, который принимает заказ 24/7, записывает в базу и выгружает в Excel.

День 1: Архитектура и база

Первым делом — структура данных. Каждая заявка: имя клиента, телефон, адрес, комментарий, статус, менеджер, время. Храним в SQLite — легковесно, не требует отдельного сервера, файловая база лежит прямо на VPS.

CREATE TABLE orders (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    phone TEXT NOT NULL,
    address TEXT,
    comment TEXT,
    status TEXT DEFAULT 'new',
    manager TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Два вида пользователей: клиент (пишет боту) и менеджер (принимает заявку, меняет статус). Разграничение — по chat_id в отдельной таблице roles.

День 2: Telegram API и логика

Использую aiogram 3 — асинхронный фреймворк, удобные хендлеры, встроенный FSM (машина состояний) для пошагового диалога с клиентом.

Клиент нажимает «Оформить заказ» → бот спрашивает имя → телефон → адрес → комментарий → подтверждает. Менеджер видит новую заявку в канале, нажимает кнопку «Принять» — статус меняется, клиент получает уведомление.

Ключевые команды для менеджера:

День 3: Деплой и тестирование

Бот развёрнут на VPS через systemd — автозапуск при перезагрузке, автоматический перезапуск при падении, логи в journald.

[Unit]
Description=Order Bot
After=network.target

[Service]
User=bot
WorkingDirectory=/home/bot/order-bot
ExecStart=/home/bot/order-bot/venv/bin/python main.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

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

Результат

Бот работает без простоев уже несколько месяцев. Менеджеры не копируют данные вручную — всё автоматически в базе и Excel. Ночных заказов стало больше: раньше клиент писал в WhatsApp и ждал утра, теперь бот принимает заявку сразу.

Стоимость разработки: 12 000 ₽. Окупилось за первую неделю.

← НАЗАД В АРХИВ