// Python Dev

Automatic management of a Telegram channel network for a travel agent

Published on 2026-03-26

Client task

A travel agent manages hundreds of Telegram channels with current tour and flight offers. The client needed a system that could find strong offers, package them, and publish them on schedule.

What was delivered

  • • Built an automated publishing system for 150 active Telegram channels with regular posting and no daily manual work.
  • • For tours, integrated the Level.Travel API: the system selects offers by destinations, dates, and price criteria, then generates posts based on each channel's settings.
  • • For flights, integrated the Aviasales API with search, result analysis, and offer generation.
  • • For flight posts, images are generated dynamically: real data is injected into an SVG template and rendered into an image through Playwright.
  • • Each channel has its own departure-city settings, so the same search produces different selections for different audiences.
  • • Publishing runs on schedule through n8n, while all complex search, analysis, and content-generation logic is implemented in Python.

Result

The client received an automated media system that consistently operates a channel network, publishes relevant offers, and removes daily repetitive work from the team.

This project combined content automation, external APIs, and image generation tailored to specific channels. The goal was not only to collect offers, but to produce publication-ready material that matched the target audience, departure city, and posting cadence.

From an engineering perspective, it was important to separate orchestration from business logic. The client wanted n8n as the control layer, but the heavy part of search, filtering, analysis, and image generation was implemented in Python where it could evolve cleanly.

The final system became an operational backbone for the channel network rather than a set of one-off posting scripts.

Stack:
#Python #n8n #Level.Travel API #Aviasales API #Playwright #SVG

New request

Submit a request

Confirm that you are not a bot.