Задача

Требуется разработать Telegram бота для группы, который управляет размещением платных объявлений от участников. Пользователи отправляют заявку на размещение, бот обрабатывает её, запрашивает оплату и публикует объявление в группе от имени участника или через канал.

Основные функции

  • Прием заявок на объявление (текст, медиа, номер телефона и т.д.) от участников группы.
  • Расчет стоимости размещения (возможность задавать тарифы, продолжительность, срочность).
  • Интеграция с системой онлайн-оплаты (например, ЮMoney, Qiwi или Telegram Stars).
  • Автоматическая публикация объявления в группе после оплаты.
  • Возможность удалять или продлевать объявления.
  • Уведомления для пользователя: подтверждение отправки, статус оплаты, ссылка на опубликованное объявление.
  • Учет времени окончания размещения и автоматическая отписка, если объявление не продлено.

Требования к боту

  • Язык реализации: Python (чистый код, без low code, фреймворки допустимы aiogram/pyrogram/telebot).
  • Логика
    • Хранение данных об объявлениях и пользователях в БД (SQLite/PostgreSQL).
    • Управление расписанием (продлить/удалить через cron или APScheduler).
    • Фильтр дубликатов по номеру телефона или тексту объявления (опционально).
    • Поддержка защищенного входа по одноразовому коду или через верификацию в группе (captcha, а1) при отправке заявки.
  • Админ-панель (кейсы полный доступ к логам, настройкам)
    • Просмотр и редактирование всех объявлений.
    • Изменение тарифов (срок/цена).
    • История транзакций.
    • Ручная модерация объявлений перед публикацией.
    • Статистика: количество оплат, публикаций, отзывов.
  • UI:
    • Кнопки меню и подсказки, текстовый пошаговый интерфейс.
    • Обработка медиа (фото, видео, документы) для объявлений.

Разрешенные технологии

  • Python 3.8+ и стандартные библиотеки.
  • БД: SQLite/PostgreSQL в связке с asyncio.
  • Библиотеки: aiogram (синхрон/асинхрон), APScheduler, pytz.
  • Оплата: готовое или настраиваемое решение (например, netcity или клиенты банковских API без раскрытия ключей в коде).
  • Деплой: готовность сделать инструкцию для запуска или написать Dockerfile (без указания реального сервера).

Возможные улучшения (на усмотрение исполнителя)

  • Рассылка уведомлений о новых объявлениях (например, по теме).
  • Возможность редактировать объявление лично (только владельцу).
  • Сбор аналитики по количеству просмотров.
  • Система отзывов и рейтингов.

Векторный макет для фрезерной резки

Требуется разработать векторный чертеж для фрезерного станка по прототипу с фотографии. Предусмотрены небольшие изменения по количеству отверстий. Файл нужен в формате CDR (до версии 17).