Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak

Multifunctional Telegram bot for promotion automation

Owners of Telegram channels face one problem — algorithms promote content with high engagement. Posts with reactions get recommended and appear more authoritative. Manual boosting through third-party services is expensive and gets flagged by Telegram as bot activity. This project automates promotion through real authorized accounts with full control over logic and frequency.

The system places reactions on new posts on behalf of a pool of real accounts, parses content from third-party channels, and publishes on a schedule, converts videos into circles, manages delayed publications, and processes payments. All through a Telegram bot with support for a custom bot for each user.

The project is based on aiogram 3 and asyncio. Simultaneously, the main bot's polling, custom bots' polling, reaction worker, scheduler, and payment poller operate — all in one event loop through asyncio.gather without threads and processes.

The key dependency is Telethon, a library for MTProto. Unlike the Bot API, it allows actions on behalf of a regular user — placing reactions from real accounts and reading channels without admin rights. Accounts are authorized through the bot with SMS and 2FA, and the session is saved to a file. For anti-detection, each client receives random device_model, system_version, and app_version.

The reaction worker listens for new posts through events.NewMessage, waits for a specified interval, then random accounts from the pool place reactions through SendReactionRequest with random pauses between calls.

Custom bots: the user provides a token, the system starts polling through asyncio.create_task and feeds updates into the same Dispatcher. All handler code works the same, outgoing messages come from the user's bot.

The database is SQLite through aiosqlite with WAL mode for parallel operations without locks. Payment integration with CryptoPay and Telegram Stars. CryptoPay: an invoice is created, the poller checks the status every 30 seconds, and upon payment, activates the subscription automatically.

The parser iterates through history via iter_messages, downloads media, re-saves through Bot API to obtain file_id, and queues posts with a time offset from the original date. FSM manages multi-step dialogues, and middleware pulls the user's language from the database before each handler.
Work details
Added 22 February
165 views
Freelancer
Heorhii Zhukov
Ukraine Kyiv  23  0

Available for hire Available for hire
23 Safes completed
On the service 9 months 14 days