Project Background

Many Telegram groups and channels face the problem of uncontrolled announcement publishing: users post messages directly, which often leads to spam, inconsistent formatting, and difficulties with moderation.

Therefore, it was important to implement a process for posting announcements that preserves control over the content while not complicating the process for users. For this reason, a decision was made to create a system for publishing announcements through a Telegram bot with pre-moderation, where a user submits an announcement via the bot and an administrator reviews it before publication.

This made it possible to automate the process of collecting announcements, standardize their format, and ensure quality control of the content before it appears in a group or channel.

Project Objectives

  • Create a controlled system for publishing announcements

    1

    Ensure the ability to create announcements only through a Telegram bot with mandatory pre-moderation before publishing in a group or channel.

  • Organize a structured process for creating announcements

    2

    Implement a step-by-step scenario for creating announcements with category selection, adding photos, entering text, and contact details.

  • Automate the content moderation process

    3

    Provide administrators with a tool for quick review, editing, and approval or rejection of announcements through the administrative bot.

  • Automate the announcement publishing process

    4

    Automatically generate a publication with photos, announcement text, contacts, and a category hashtag after moderator approval.

Work Stages

  • Stage 1

    Task and usage scenario analysis

    The system logic for publishing announcements, the scenarios for users creating announcements, and the moderation process before publication were defined.

  • Stage 2

    Bot architecture design

    Bot architecture designThe interaction between the Client Bot, Admin Bot, and the Telegram group or channel was designed, as well as the database structure for storing announcements and moderation statuses.

  • Stage 3

    Client Bot development

    A step-by-step wizard for creating announcements was implemented with category selection, photo upload, text input, and a contact phone number.

  • Stage 4

    Moderation system development

    An Admin Bot was created that receives publication requests, displays a preview of the announcement, and allows the administrator to approve, reject, or edit it.

  • Stage 5

    Integration with a Telegram group or channel

    Automatic publishing of announcements after moderator approval was configured, including photos, text, contacts, and category hashtags.

  • Stage 6

    System testing and launch

    All working scenarios were tested: announcement creation, moderation, publication, and informing the user about the result.

Client Bot

The client bot allows users to create announcements through Telegram in a structured format. The bot step by step collects all the necessary data, checks its correctness, and sends the announcement for moderation before publication.

  • Announcement creation
  • Entering the announcement text
  • Uploading photos
  • Category selection
  • Payment for placement or promotion of the announcement
  • Announcement status
  • The user launches the bot and selects the action to create a new announcement. The bot starts a step-by-step scenario for creating a request and sequentially collects all the necessary data..

  • The user enters the announcement text. The bot controls the maximum number of words according to the system settings and does not allow exceeding the established limit.

  • The user can add from one to five photos. After each upload, the bot offers to add another photo or proceed to the next stage.

  • At the first stage, the user selects the announcement category from the available list. Each category has an associated hashtag that is automatically added to the final publication text.

  • The system may provide the option of paid placement or additional promotion of the announcement. After creating the announcement, the user may be offered the option to pay for publication through an external payment service. After successful payment, the announcement receives the corresponding status and moves to the moderation stage or publication depending on the system settings.

  • After submission, the announcement receives the status pending moderation. The user receives a message that the announcement has been sent for review.

Banner Background

Admin Bot

The administrative bot is used by moderators and administrators to manage announcements submitted by users through the client bot. The bot receives all publication requests, shows a preview of the announcement, and allows the administrator to decide whether to publish, edit, or reject it. The system also allows checking the payment status of the announcement before its publication.

  • Announcement preview
  • Payment status verification
  • Publication confirmation
  • Announcement rejection
  • After the user creates an announcement and sends it for review, the system automatically sends a message to the administrative bot. The administrator sees the full preview of the announcement, which includes photos, the announcement text, the contact phone number, the category, and the hashtag. This allows quick evaluation of the correctness and quality of the announcement before making a decision.

  • If the announcement involves paid placement or promotion, the administrative bot also displays the payment status. The administrator can check whether the payment was successfully completed before publishing the announcement.

  • After reviewing the announcement, the administrator can confirm the publication. In this case, the system changes the announcement status and automatically publishes it in the Telegram group or channel along with photos, text, contacts, and the category hashtag.

  • The administrator can reject the announcement without approving it if it does not comply with the rules or contains incorrect information.

Banner Background

Web Admin

The administrative panel is used for full management of the announcement publishing system. Through the web interface, the administrator can manage clients, announcement moderation, categories, and system settings. The admin panel allows control over the entire publication process, editing announcements, verifying user information, and managing the hashtag structure for categorizing announcements.

  • Receiving moderation requests
  • Announcement management
  • Announcement moderation
  • Category and hashtag management
  • Administrator management
  • The administrative panel provides a list of all users who interact with the Telegram bot. For each client, the system stores the Telegram ID, name, and other basic information. The administrator can view the client profile, edit user data, or monitor their activity in the system.

  • The administrator has access to the full list of announcements created by users through the Telegram bot. The list displays the client, the announcement title, text, phone number, and the publication approval status. Through the admin panel, announcements can be viewed, the text can be edited, information can be corrected, or the publication status can be changed.

  • The system allows administrators to control the publication of announcements. The administrator can allow or prohibit the publication of an announcement, check the correctness of the text and contact information, or edit the announcement before publication. This helps ensure content quality control and reduce the amount of spam.

  • The administrative panel includes a settings section where the administrator can create, edit, or delete hashtags used for categorizing announcements. Hashtags are automatically added to publications in the Telegram channel or group, which helps structure the announcements and simplifies navigation for users.

  • The admin panel allows creating and managing administrator accounts in the system. For each administrator, the system stores the login, email, Telegram ID, activity status, and creation date. This allows control over system access and distribution of permissions among team members.

Banner Background

Results

An automated system for publishing announcements in Telegram with pre-moderation was created. Users received a convenient tool for creating announcements through a bot, while administrators received a simple system for content control and moderation. The system made it possible to completely eliminate manual publication of announcements, standardize the format of posts, and significantly reduce the amount of spam in the group or channel.

  • 100 %

    All announcements undergo moderation before publication.

  • 95 %

    Standardized announcement format.

  • 100 %

    Зменшено кількість спаму та некоректних публікацій.

Technologies used

To implement the project, we used a modern technology stack focused on stability and scalability.

  • Backend

    PHP 8.3, framework Symfony 6.4 (LTS)

  • Database

    MySQL 8

  • Server infrastructure

    Linux Ubuntu 22.04

  • Web server

    Nginx

Support

Skylex is the official technical partner of the project, responsible for the full development cycle, technical support, and further scaling of the project. We ensure stable service operation, the implementation of new functionality, and rapid response to business needs.

Fill out the form to receive a free consultation

Enter your name in Cyrillic or English
Enter your phone number
By clicking the button, you consent to the processing of personal data