Общее описание проекта

Требуется разработать Telegram-бота для геймеров - аналог сайта знакомств, но для поиска тиммейтов в игре. Пользователи создают анкеты с основной и дополнительной информацией, просматривают профили других игроков и ставят лайки. При совпадении взаимных лайков контакты раскрываются. Бот также должен управлять рекламными постами и стрим-оповещениями.

Функциональные требования

1. Регистрация и создание анкеты

  • Загрузка аватарки
  • Обязательное указание игрового ранга (настраиваемый список)
  • Дополнительные пункты: играет с микрофоном или нет, игровой стаж, любимые режимы - настраивается через админку
  • Возможность добавить текст о себе свободной форме

2. Проверка подписок

  • Пользователь должен быть подписан на телеграм-канал и чат (автоматическая проверка)
  • По желанию можно подключить проверку подписки на Twitch и YouTube (код будущего расширения или опционально)

3. Функционал анкеты-знакомств

  • Просмотр анкет случайных игроков
  • Возможность поставить лайк или дизлайк без возможности узнать кто это
  • При взаимном лайке - контакты раскрываются: выводится имя/ник телеграм и сообщение, что они хотят играть вместе

4. Рекламные/новостные механики

  • Вставка новостного поста (реестр конкурсный пост или реклама нового видео) - выводится между 5-й и 10-й ответами бота
  • Разовое уведомление всем пользователям о старте стрима

5. Админ-панель

  • Через нее добавляются новости
  • Запуск стрим-уведомления
  • Отправка репорта / жалобы на скам-пользователей
  • Блокировка нарушителей в боте

Технические требования

  • Язык программирования: Python (aiogram 3.x)
  • База данных: PostgreSQL или SQLite (на усмотрение разработчика)
  • Архитектура микросервисов или monolithic на взаимодействии API Telegram
  • Просмотр анкет - чистая логика +/- лайков, без шихтенных данных о непрочитанных/без ущерба безопасности
  • Деплой выполнить

Пожалуйста, рассчитайте стоимость и сроки выполнения проекта. Заказчик на стадии концепта, жду предложения.

Адаптация скрипта для работы на PHP 8

Необходимо обновить старый устаревший скрипт, генерирующий линейки/списки, чтобы он корректно работал на версии PHP 8. Основные изменения касаются совместимости кода.