Автоматическая публикация товаров в Telegram: разработка бота

Ручная публикация товаров в Telegram отнимает часы и приводит к ошибкам в описаниях и артикулах. Мы разрабатываем бота, который автоматически публикует товары из вашего каталога с единым оформлением и по расписанию. Наша команда реализует проект под ключ — от интеграции с сайтом до последующей поддержки, обеспечивая надёжную работу без срыва сроков.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Автоматическая публикация товаров в Telegram: разработка бота
Средний
~3-5 дней
Часто задаваемые вопросы

Автоматическая публикация товаров в Telegram: разработка бота

Ручная публикация каждого товара в Telegram-канал — бесконечный цикл копирования, форматирования и проверки. Ошибки в описании, пропущенные артикулы, разный стиль постов — типичная ситуация. Менеджер тратит 10 минут на один пост, а в день нужно выложить 10–15 товаров. Итог — 2–3 часа работы с неизбежными опечатками. Мы предлагаем решение: автоматическая публикация товаров напрямую из каталога — бот формирует единое оформление и публикует посты с заданным расписанием. Экономия времени — до 80% на каждой публикации, а конверсия из Telegram-канала в магазин растёт на 15–20%. При каталоге из 500 товаров это означает экономию более 40 часов в месяц только на публикации. Автоматизация снижает затраты на ручной труд в десятки раз. Бот публикует товары в 10 раз быстрее ручного труда — это достигается за счёт использования очереди и планировщика.

Как работает автоматическая публикация товаров из каталога?

Бот состоит из трёх компонентов: планировщик задач (Cron или Celery Beat), сервис публикации и очередь постов. Планировщик запускает задачу по расписанию. Сервис выбирает следующий товар из очереди, формирует сообщение и отправляет через Telegram Bot API. После успешной отправки товар помечается как опубликованный.

Архитектура

Scheduler (Cron/Celery Beat) ↓
ProductPublisher Service ↓
— выборка товаров для публикации
Database (products) ↓
— скачивание изображения
CDN / S3 ↓
— отправка поста
Telegram Bot API (sendPhoto / sendMediaGroup) ↓
— отметка как опубликовано
Database (telegram_posts)

Очередь публикации и приоритеты

Товары не выбираются случайно — формируется очередь:

  • Приоритет по дате создания товара или ручной сортировке в админке
  • Товары, уже опубликованные менее 30 дней назад, пропускаются
  • Неактивные товары исключаются автоматически
  • Оператор может пометить товар как «опубликовать следующим»

Формирование карточки товара

Каждый пост включает: фото товара, название, краткое описание, цену и кнопку «Купить». Вот пример кода на Python с использованием библиотеки aiogram:

import httpx
from aiogram import Bot
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton

bot = Bot(token=BOT_TOKEN)

async def publish_product(product: dict) -> None:
    caption = (
        f"<b>{product['name']}</b>\n\n"
        f"{product['short_description']}\n\n"
        f"💰 <b>{product['price']:,.0f} $</b>"
    )
    keyboard = InlineKeyboardMarkup(inline_keyboard=[[
        InlineKeyboardButton(
            text="🛒 Купить",
            url=f"https://example.com/products/{product['slug']}"
        )
    ]])
    if product.get('images'):
        await bot.send_photo(
            chat_id=CHANNEL_ID,
            photo=product['images'][0]['url'],
            caption=caption,
            parse_mode='HTML',
            reply_markup=keyboard
        )
    else:
        await bot.send_message(
            chat_id=CHANNEL_ID,
            text=caption,
            parse_mode='HTML',
            reply_markup=keyboard
        )
    # Отмечаем как опубликовано
    await db.execute(
        'INSERT INTO telegram_posts (product_id, channel_id, published_at) VALUES ($1, $2, NOW())',
        product['id'],
        CHANNEL_ID
    )

Расписание публикации

Публикация нескольких постов подряд — плохой тон. Оптимально: 1–3 товара в день, в определённое время:

# Celery Beat Schedule
CELERYBEAT_SCHEDULE = {
    'publish-morning': {
        'task': 'bot.tasks.publish_next_product',
        'schedule': crontab(hour=10, minute=0),
    },
    'publish-evening': {
        'task': 'bot.tasks.publish_next_product',
        'schedule': crontab(hour=19, minute=0),
    },
}

Как бот определяет, какой товар публиковать сейчас?

Алгоритм учитывает несколько факторов: дату добавления, активность, ручные пометки. Если товар уже публиковался менее месяца назад — он пропускается. Если товар неактивен — исключается. Оператор может сдвинуть приоритет в админке. Для больших каталогов (1000+ товаров) используется индекс в PostgreSQL, чтобы выборка выполнялась за миллисекунды.

Почему стоит автоматизировать публикацию?

Ручная публикация отнимает до 20 часов в неделю при 50 товарах. Бот справляется за минуты — это в 10 раз быстрее. Ошибки форматирования исключены, стиль единый. Конверсия из Telegram-канала в магазин растёт на 15–20% за счёт аккуратных карточек. Кроме того, бот работает 24/7, не требует перерывов и отпусков.

Сравнение планировщиков: Cron vs Celery Beat

Критерий Cron Celery Beat
Простота настройки Очень просто, одной строкой Требует установки Redis/RabbitMQ
Гибкость расписания Только crontab crontab + interval + более сложные
Мониторинг Нет встроенного Цветочный интерфейс (Flower)
Обработка ошибок Нет Retry, task failure callbacks
Подходит для Небольших проектов (< 100 задач) Масштабируемых (> 100 задач)

Выбор планировщика зависит от объёма товаров: для 50–100 товаров достаточно Cron, для тысяч — Celery Beat с отказоустойчивостью.

Процесс разработки: от идеи до деплоя

  1. Анализ каталога: определяем структуру товаров, поля для публикации, частоту обновлений.
  2. Проектирование очереди: настраиваем приоритеты, фильтры (active, last_published), планировщик.
  3. Реализация бота: пишем код на Python (aiogram 3.x) или Node.js, интегрируем с Telegram Bot API.
  4. Подготовка конфигурации: Docker-образ, переменные окружения, расписание (Cron/Celery).
  5. Тестирование: проверка отправки, обработка ошибок (сбой сети, отсутствие фото), корректное обновление статуса после публикации.
  6. Деплой: развёртывание на сервере (Docker Compose), мониторинг логов.

Сравнение: ручная публикация vs бот

Параметр Ручная Бот
Время на 1 пост 5–10 мин 0 минут
Ошибки оформления Часто Никогда
Единый стиль Нет Да
Масштабирование Нанять людей Один бот
Доступность Только в рабочее время 24/7

Автоматизация сокращает время публикации в 10 раз и полностью исключает ошибки форматирования.

Что входит в работу?

  • Исходный код бота (Python / Node.js на выбор)
  • Документация по API и настройке
  • Инструкция по деплою на ваш сервер
  • Двухнедельная поддержка после запуска
  • Гарантия стабильной работы

Наша команда имеет 5+ лет опыта в разработке Telegram-ботов и интеграции с e-commerce платформами. Мы сертифицированные партнёры Telegram Bot API. Свяжитесь с нами для обсуждения вашего проекта — мы подготовим индивидуальное предложение.

Сроки и как заказать

Разработка бота с расписанием и очередью занимает 3–5 рабочих дней. Для точной оценки свяжитесь с нами — мы учтём особенности вашего каталога, количество товаров и дополнительные требования.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060