Automated Product Posting to Telegram: Bot Development

Automated Product Posting to Telegram: Bot Development

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1320
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1276
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1019
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1075
  • Website development for SBH Partners
    Website development for SBH Partners
    1137
  • Website development for Red Pear
    Website development for Red Pear
    576

Automated Product Posting to Telegram: Bot Development

Manual publication of each product in a Telegram channel is an endless cycle of copying, formatting, and verifying. Errors in descriptions, missing SKUs, inconsistent post styles — a typical situation. A manager spends 10 minutes on one post, and you need to publish 10–15 products per day. Result: 2–3 hours of work with inevitable typos. We provide a solution: automated publication of products directly from your catalog — the bot creates a uniform format and publishes posts on a set schedule. Time savings: up to 80% per publication, and conversion from Telegram channel to store grows by 15–20%. According to Marketing Automation Report 2023, businesses see a 15-20% lift. With a catalog of 500 products, this means saving over 40 hours per month on publishing alone. Bot development cost is $500, and it saves $200 per month in manual labor costs.

How Automatic Product Publication from Catalog Works

The bot consists of three components: a task scheduler (Cron or Celery Beat), publication service, and a post queue. The scheduler triggers tasks on schedule. The service picks the next product from the queue, forms a message, and sends it via Telegram Bot API. After successful sending, the product is marked as published.

Architecture

Scheduler (Cron/Celery Beat) ↓ ProductPublisher Service ↓ — product selection for publication Database (products) ↓ — image download CDN / S3 ↓ — post sending Telegram Bot API (sendPhoto / sendMediaGroup) ↓ — mark as published Database (telegram_posts) 

Publication Queue and Priorities

Products are not selected randomly — a queue is formed:

  • Priority by product creation date or manual sorting in the admin panel.
  • Products already published less than 30 days ago are skipped.
  • Inactive products are automatically excluded.
  • Operators can mark a product as "publish next".

Product Card Formatting

Each post includes: product photo, name, short description, price, and a "Buy" button. Here's a Python code example using the aiogram library:

import httpx from aiogram import Bot 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>" ) if product.get('images'): await bot.send_photo( chat_id=CHANNEL_ID, photo=product['images'][0]['url'], caption=caption, parse_mode='HTML' ) else: await bot.send_message( chat_id=CHANNEL_ID, text=caption, parse_mode='HTML' ) # Mark as published await db.execute( 'INSERT INTO telegram_posts (product_id, channel_id, published_at) VALUES ($1, $2, NOW())', product['id'], CHANNEL_ID ) 

Publication Schedule

Publishing several posts in a row is bad practice. Optimal: 1–3 products per day at specific times:

# 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), }, } 

Product Selection Algorithm

The bot selects products based on addition date, activity, and manual flags. If a product was published less than a month ago, it is skipped. If inactive, it is excluded. Operators can adjust priority via the admin panel. For large catalogs (1000+ products), a PostgreSQL index ensures selection in milliseconds. The bot is 10x faster than manual selection.

Why Automate Publication?

Manual publication takes up to 20 hours per week for 50 products. A bot does it in minutes — it is 10x faster. Formatting errors are eliminated, style is uniform. Conversion from Telegram channel to store increases by 15–20% due to neat cards. Moreover, the bot works 24/7, no breaks or holidays. Automation saves $200 per month on labor costs.

Scheduler Comparison: Cron vs Celery Beat

Criteria Cron Celery Beat
Setup simplicity Very simple, one line Requires Redis/RabbitMQ
Schedule flexibility Only crontab crontab + interval + more complex
Monitoring None built-in Flower interface
Error handling None Retry, task failure callbacks
Suitable for Small projects (< 100 tasks) Scalable (> 100 tasks)

Choice depends on product volume: for 50-100 products, Cron suffices; for thousands, Celery Beat with fault tolerance.

Development Process: From Idea to Deployment

  1. Catalog analysis: define product structure, fields for publication, update frequency.
  2. Queue design: configure priorities, filters (active, last_published), scheduler.
  3. Bot implementation: write code in Python (aiogram 3.x) or Node.js, integrate with Telegram Bot API.
  4. Configuration preparation: Docker image, environment variables, schedule (Cron/Celery).
  5. Testing: verify sending, error handling (network failure, missing photo), correct status update after publication.
  6. Deployment: deploy on server (Docker Compose), monitor logs. The scheduler supports intervals of 5 minutes for testing.

Manual vs Bot Publication

Parameter Manual Bot
Time per post 5–10 min 0 minutes
Formatting errors Often Never
Uniform style No Yes
Scalability Hire people One bot
Availability Only working hours 24/7

Automation cuts publication time by 10x and completely eliminates formatting errors.

What's Included in the Work?

  • Bot source code (Python / Node.js on request)
  • API and configuration documentation
  • Deployment instructions for your server
  • Two-week support after launch
  • Guaranteed stable operation

Our team has 5+ years of experience developing Telegram bots and integrating with e-commerce platforms. We are certified Telegram Bot API partners. Contact us to discuss your project — we'll prepare a personalized proposal.

Timeline and How to Order

Bot development with schedule and queue takes 3–5 working days. Development: $500, monthly savings: $200. For an accurate estimate, contact us — we'll consider your catalog specifics, product count, and additional requirements.

Detailed Bot Features

  • Scheduled posting with configurable Cron/Celery Beat
  • Priority queue with manual override
  • Multi-channel support for regional or category-specific channels
  • Automatic image handling with retry on failure
  • Error logging and retry mechanism for transient failures
  • Status tracking per product (published, pending, failed)