Передісторія

Багато Telegram-груп і каналів стикаються з проблемою неконтрольованої публікації оголошень: користувачі публікують повідомлення напряму, що часто призводить до спаму, хаотичного формату постів і складнощів із модерацією.

Замовнику було важливо впорядкувати процес розміщення оголошень, зберегти контроль над контентом і при цьому не ускладнювати процес для користувачів. Тому було прийнято рішення створити систему публікації оголошень через Telegram-бота з премодерацією, де користувач подає оголошення через бота, а адміністратор перевіряє його перед публікацією.

Це дозволило автоматизувати процес збору оголошень, стандартизувати їх формат та забезпечити контроль якості контенту перед появою в групі або каналі.

Основні цілі проєкту

  • Створити контрольовану систему публікації оголошень

    1

    Забезпечити можливість створення оголошень лише через Telegram-бота з обов’язковою премодерацією перед публікацією в групі або каналі.

  • Організувати структурований процес створення оголошень

    2

    Реалізувати покроковий сценарій створення оголошення з вибором категорії, додаванням фотографій, введенням тексту та контактних даних.

  • Автоматизувати процес модерації контенту

    3

    Надати адміністраторам інструмент для швидкого перегляду, редагування, підтвердження або відхилення оголошень через адміністративного бота.

Етапи роботи

  • Тиждень 1

    Аналіз задачі та сценаріїв використання

    Визначено логіку роботи системи публікації оголошень, сценарії створення оголошень користувачами та процес модерації перед публікацією.

  • Тиждень 1

    Проєктування архітектури ботів

    Спроєктовано взаємодію між Client Bot, Admin Bot та Telegram-групою або каналом, а також структуру бази даних для збереження оголошень і статусів модерації.

  • Тиждень 2

    Розробка Client Bot

    Реалізовано покроковий майстер створення оголошень із вибором категорії, додаванням фотографій, введенням тексту та контактного номера телефону.

  • Тиждень 2

    Розробка системи модерації

    Створено Admin Bot, який отримує заявки на публікацію, відображає прев’ю оголошення та дозволяє адміністратору підтвердити, відхилити або відредагувати його.

  • Тиждень 3

    Інтеграція з Telegram-групою або каналом

    Налаштовано автоматичну публікацію оголошень після підтвердження модератором із додаванням фотографій, тексту, контактів та хештегів категорії.

  • Тиждень 3

    Тестування та запуск системи

    Проведено перевірку всіх сценаріїв роботи: створення оголошення, модерація, публікація та інформування користувача про результат.

Кабінет користувача (Client Bot)

Клієнтський бот дозволяє користувачам створювати оголошення через Telegram у структурованому форматі. Бот покроково збирає всі необхідні дані, перевіряє їх коректність та відправляє оголошення на модерацію перед публікацією.

  • Створення оголошення
  • Введення тексту оголошення
  • Завантаження фотографій
  • Вибір категорії
  • Оплата розміщення або просування оголошення
  • Статус оголошення
  • Користувач запускає бота та обирає дію створення нового оголошення. Бот запускає покроковий сценарій створення заявки та послідовно збирає всі необхідні дані.

  • Користувач вводить текст оголошення. Бот контролює максимальну кількість слів відповідно до налаштувань системи та не дозволяє перевищити встановлений ліміт.

  • Користувач може додати від однієї до п’яти фотографій. Після кожного завантаження бот пропонує додати ще фото або перейти до наступного етапу.

  • На першому етапі користувач обирає категорію оголошення з доступного списку. Кожна категорія має прив’язаний хештег, який автоматично додається до фінального тексту публікації.

  • Система може передбачати можливість платного розміщення або додаткового просування оголошення. Після створення оголошення користувачу може бути запропоновано оплатити публікацію через зовнішній платіжний сервіс. Після успішної оплати оголошення отримує відповідний статус та переходить до етапу модерації або публікації залежно від налаштувань системи.

  • Після відправки оголошення отримує статус очікування модерації. Користувач отримує повідомлення про те, що оголошення відправлено на перевірку.

Banner Background

Адміністративний бот (Admin Bot)

Адміністративний бот використовується модераторами та адміністраторами для управління оголошеннями, які надходять від користувачів через клієнтського бота. Бот отримує всі заявки на публікацію, показує попередній перегляд оголошення та дозволяє адміністратору прийняти рішення щодо публікації, редагування або відхилення. Також система дозволяє перевіряти статус оплати оголошення перед його публікацією.

  • Попередній перегляд оголошення
  • Перевірка статусу оплати
  • Підтвердження публікації
  • Підтвердження оголошення
  • Після створення оголошення користувачем та відправки його на перевірку система автоматично надсилає повідомлення адміністративному боту. Адміністратор бачить повний попередній перегляд оголошення, який включає фотографії, текст оголошення, контактний номер телефону, категорію та хештег. Це дозволяє швидко оцінити коректність та якість оголошення перед прийняттям рішення.

  • Якщо оголошення передбачає платне розміщення або просування, адміністративний бот також відображає статус оплати. Адміністратор може перевірити, чи була успішно здійснена оплата перед публікацією оголошення.

  • Після перевірки оголошення адміністратор може підтвердити публікацію. У цьому випадку система змінює статус оголошення та автоматично публікує його в Telegram-групі або каналі разом із фотографіями, текстом, контактами та хештегом категорії.

  • Адміністратор може відхилити оголошення,непідтверджуючи його, якщо воно не відповідає правилам або містить некоректну інформацію.

Banner Background

Адміністративна панель (Web Admin)

Адміністративна панель використовується для повного управління системою публікації оголошень. Через веб-інтерфейс адміністратор може керувати клієнтами, модерацією оголошень, категоріями та налаштуваннями системи. Адмінка дозволяє контролювати весь процес публікації, редагувати оголошення, перевіряти інформацію користувачів та керувати структурою хештегів для категоризації оголошень.

  • Отримання заявок на модерацію
  • Управління оголошеннями
  • Модерація оголошень
  • Управління категоріями та хештегами
  • Управління адміністраторами
  • В адміністративній панелі доступний список усіх користувачів, які взаємодіють із Telegram-ботом. Для кожного клієнта зберігається Telegram ID, ім’я та інша базова інформація. Адміністратор може переглядати профіль клієнта, редагувати дані користувача або контролювати його активність у системі.

  • Адміністратор має доступ до повного списку оголошень, створених користувачами через Telegram-бот. У списку відображається клієнт, заголовок оголошення, текст, номер телефону та статус дозволу на публікацію. Через адмінку можна переглядати оголошення, редагувати текст, коригувати інформацію або змінювати статус публікації.

  • Система дозволяє адміністраторам контролювати публікацію оголошень. Адміністратор може дозволити або заборонити публікацію оголошення, перевірити коректність тексту та контактної інформації або відредагувати оголошення перед публікацією. Це дозволяє забезпечити контроль якості контенту та зменшити кількість спаму.

  • В адміністративній панелі передбачено розділ налаштувань, де адміністратор може створювати, редагувати або видаляти хештеги, які використовуються для категоризації оголошень. Хештеги автоматично додаються до публікацій у Telegram-каналі або групі, що дозволяє структурувати оголошення та спрощує навігацію для користувачів.

  • Адмінка дозволяє створювати та керувати обліковими записами адміністраторів системи. Для кожного адміністратора зберігається логін, email, Telegram ID, статус активності та дата створення. Це дозволяє контролювати доступ до системи та розподіляти права між членами команди.

Banner Background

Використані технології

Для реалізації проєкту ми використали сучасний стек технологій, орієнтований на стабільність та масштабованість:

  • PHP 8.3

    PHP 8.3

    Сучасна серверна мова для швидкої обробки даних та логіки сайту.

  • Symfony 6.4 (LTS)

    Symfony 6.4 (LTS)

    Надійний PHP-фреймворк для розробки складних масштабованих проєктів.

  • MySQL 8

    MySQL 8

    Популярна система керування базами даних для безпечного зберігання інформації.

  • Linux Ubuntu 22.04

    Linux Ubuntu 22.04

    Стабільна ОС, що забезпечує високу продуктивність серверного середовища.

  • Nginx

    Nginx

    Високопродуктивний вебсервер для швидкої доставки контенту користувачам.

  • Telegram Bot API

    Telegram Bot API

    Інструмент для створення ботів та автоматизації сповіщень у месенджері.

Підтримка

Компанія SKylex є офіційним технічним партнером проєкту та відповідає за повний цикл розробки, технічну підтримку та подальше масштабування платформи. Ми забезпечуємо стабільну роботу сервісу, впровадження нового функціоналу та оперативне реагування на потреби бізнесу.

Заповніть форму для отримання безкоштовної консультації

Введіть ім’я кирилицею або англійською
Введіть номер телефону
Натискаючи на кнопку, ви даєте згоду на обробку персональних даних