Техническое задание: Telegram-бот для публикации объявлений
Основная цель
Создание Telegram-бота, который выступает в качестве посредника между пользователями, желающими разместить объявление, и публичным каналом. Бот обеспечивает сбор данных, модерацию контента и контролируемую публикацию.
Функционал для пользователей
Главное меню (команда /start)
- Подать объявление
- Реклама на канале
- Правила размещения
Процесс подачи объявления (пошаговый)
- Текст: Ввод основного текста объявления.
- Медиа: Возможность прикрепить до 10 фотографий или видео.
- Город: Указание города.
- Цена: Указание стоимости товара или услуги.
- Контакт: Ввод контактных данных (никнейм в Telegram или номер телефона). Должна быть реализована кнопка "Отправить контакт" для удобства.
Ответ пользователю после отправки
- Подать ещё одно объявление
- Перейти на канал
- Мы в социальной сети ВКонтакте
Функционал для модерации
Рабочее пространство
Все объявления от пользователей должны поступать в отдельную группу (модерационную), работающую в режиме "Forum Mode". Каждое объявление создается в отдельном топике.
Инструменты модератора
Под каждым объявлением в группе модерации должны быть кнопки:
- Опубликовать: Немедленная отправка в канал, если позволяет лимит времени.
- Отклонить: Отказ в публикации с уведомлением пользователя.
- Поставить в очередь: Для отложенной публикации.
Система публикации
Ограничения
Публикация объявлений в целевом канале должна происходить не чаще, чем 1 раз в 15 минут.
Логика работы
- Если модератор нажимает "Опубликовать", но с момента последней публикации прошло менее 15 минут, бот предлагает автоматически "Поставить в очередь".
- Если время вышло - объявление публикуется сразу.
Очередь публикаций
- Для хранения очереди необходимо использовать Redis.
- Реализовать механизм автоматической проверки и публикации следующего объявления из очереди, как только истекает временной интервал.
Технические требования и данные от заказчика
- Токен для Telegram-бота.
- ID модерационной группы (с включенным режимом топиков).
- ID канала для публикации объявлений.
- Текст правил размещения.
- Контактные данные администратора для связи.
Ожидания от исполнителя
Исполнитель должен предоставить:
- Рабочий, отлаженный код бота.
- Краткую инструкцию по развертыванию и настройке.
- Поддержку на этапе запуска.