
Как я сделал телеграм-бота для заказов с ИИ
Я экономист, а не программист. Моя компания Спецраз.рф оформляет спецразрешения на перевозку негабаритных и тяжеловесных грузов. 24 декабря 2025 года я вместе с ИИ-агентами начал делать для неё Telegram-бота. Он завёл первую тему под заказ, а потом вырос в центр операций: маршруты, госпошлины, счета. Ниже — как это было, без прикрас.
Зачем бот
Заказ на спецразрешение живёт в десятках сообщений: заявка клиента, построение маршрута в госсистеме, госпошлина, счёт, документы. Всё это разбросано по чатам, и найти нужное сообщение через неделю уже трудно.
Первая задача была совсем маленькая: разобрать строку заказа в канале и завести для неё тему в группе Telegram. Одна тема — один заказ. Все сообщения, файлы и решения по заказу лежат в одном месте.
Готового бота под это я не искал. Мне нужно было не «принимать заявки от клиентов», а помогать нашей команде: заказ должен получать номер, тему и запись в базе без ручной возни.
Что получилось

Бот работает в группах Telegram, внутри команды. Публичного адреса у него нет. Я показываю только то, что можно показать без клиентских данных.
- Заказ одной командой. `/заказ` принимает тип, перевозчика, заказчика и маршрут одной строкой. Бот находит компанию в базе, показывает черновик и просит подтвердить.
- Тема на каждый заказ. Статус виден по префиксу в названии темы. Команды `/готово`, `/отмена`, `/вернуть` меняют его.
- Маршрут. `/построение` запускает построение в Safe-Route: бот сам заходит в кабинет и присылает результат со скриншотами в тему.
- ПОДД. `/подд` собирает проект организации дорожного движения в DOCX и PDF.
- Деньги. `/гп` оплачивает госпошлину через банк, а чеки об оплате бот разбирает по номеру УИН. Счета и УПД в Эльбе создаются короткой командой.
- Таблицы и задачи. Заказы выгружаются в Google Таблицу. Для части заказов бот заводит задачи в Битрикс24.
- ИИ-помощник в отдельном чате с поиском по нашей базе знаний.

Ещё бот умеет работать с несколькими командами, у каждой своя группа и свои заказы. Новую команду подключает мастер настройки.

Как это строилось
- 24 декабря 2025. Первый коммит. В тот же день: создание тем по типу услуги и systemd-служба, чтобы бот жил на сервере.
- 26 декабря. Заказы начинают сохраняться в базе. Через три дня после первого коммита через бота прошёл первый живой заказ.
- Январь 2026. Проверка клиентов через Dadata, определение городов по ссылке или координатам, регистрация клиентских групп. 8 января — первая автоматизация Эльбы через браузер.
- Февраль. Несколько команд в одном боте (14 февраля) и ИИ-помощник с поиском по базе знаний (20 февраля).
- Апрель. Счета и УПД из Эльбы с печатью и подписью. Доставка в MAX.
- Июль. Чеки Сбера, строка заказа в Google Таблице для заказов из Omni, клиентские каналы в MAX.
- 10 августа. Отправка построений в Safe-Route переехала в СУЗ — выкатана, но выключена флагом.
- Август–сентябрь. Очередь чеков Сбера, реестр счетов Эльбы, черновик перевозчика и проверка перед выставлением счёта.
- Октябрь. Мост с Битрикс24.
Дня большого релиза не было. Бот рос кусками по реальной боли команды.
Бот — предшественник СУЗ, моей системы управления заказами. Команда `/заказ` создавала заказ, тему в Telegram и строку в Google-таблице. Несколько месяцев команда заводила заказы так. Потом заказы вынесли в СУЗ, и сейчас заказ создаётся кнопкой в Omni — моём мессенджере для работы с клиентами.
Как я работаю с ИИ-агентами
Я не пишу код. Мои задачи: объяснить, что болит, и проверить, что стало лучше. Дальше работают Claude Code и Codex: один планирует и разбирается, другой пишет код, третий проверяет.
В первые месяцы, с декабря по февраль, код писал Claude Code в VS Code.
Каждое изменение проходит проверку вторым ИИ-агентом. Выкатка на сервер — осознанный отдельный шаг, а не автоматика: на прод не уходит ничего, чего нет в git.
Что пошло не так
Двойная госпошлина. Самая частая ошибка в потоке: оператор дважды нажимает `/гп` на одно письмо. Банк принимает оба платежа, минус 1 600 ₽. Исправили в апреле 2026: бот привязывает УИН к заказу ещё до платежа, и второе нажатие, даже через секунду, видит блокировку. Вывод: всё, что тратит деньги, должно быть защищено от двойного нажатия. Позже я столкнулся с тем же при построениях в Safe-Route.
Чужая кнопка в Эльбе. Сначала документы в Эльбе заполнял браузер, который нажимал кнопки за человека. Потом нашёлся способ получать PDF со штампом и подписью напрямую. Но этот способ не описан в документации Эльбы: это та же ссылка, что у кнопки «PDF» на публичной странице. В коде так и записано: может сломаться при обновлении. Поле «Заказ» до сих пор заполняется через браузер, через API его задать нельзя. Вывод: опора на недокументированное работает, пока чужую кнопку не поменяют, и запасной путь должен остаться.
Выкатка без пилота. Отправка построений в Safe-Route попала на прод 10 августа, но под выключенным флагом: подходящего заказа для пилота не нашлось, и ни одной живой заявки не ушло. Я предпочёл выключенную функцию включённой наугад. Вывод: то, что пишет в госсистему, включается отдельным шагом на одном заказе.
Рост без плана. Из команды `/заказ` на одну строку вырос бот, в котором сейчас сотни файлов. Часть кода осталась от прежних идей: автопостроение при создании заказа отключено, но код лежит. Это уже не одна команда, а наследство. Вывод: чистить прошлое приходится отдельными задачами, иначе оно копится.
И что стало лучше. Только у Спецраза через бота и СУЗ проходит пара сотен заказов в месяц: в октябре 2026 года пришло 226 новых заказов, исполнено 162. И ботом пользуется не только моя команда.
Цифры
- 1 042 коммита в папке бота.
- ≈ 90 принятых пулл-реквестов (91 слияние в git).
- 24 декабря 2025 — первый коммит.
- 58 коммитов с декабря по июнь, 984 — с июля по октябрь.
- ≈ 250 файлов тестов.
- Больше 30 обработчиков команд и событий.
- 226 новых заказов и 162 исполненных за октябрь 2026 года.

Здесь надо помнить: в том, что я называю «ботом», живут и вспомогательные скрипты, миграции базы и тесты. Строки кода я не считаю: счёт раздувают миграции и тесты.
Сколько стоит работа с ИИ-агентами и серверами, я описал в кейсе про СУЗ.
Можно ли так же у вас

Если вы уже пробовали вайбкодинг сами и упёрлись — в архитектуру, в выкатку, в то, что ИИ ломает работающее, — напишите. Расскажу, как можно сделать такое для вас.