Техническое задание: Telegram-бот с системой доступа

Цель проекта

Создать автоматизированного Telegram-бота для контролируемой раздачи ссылок на файлы, размещенные на облачном хранилище. Доступ к материалам предоставляется только после успешного прохождения двухэтапной проверки.

Ключевые функции и логика работы

  • Двухфакторная проверка доступа:
    • Проверка наличия активной подписки пользователя на указанный Telegram-канал.
    • Запрос и верификация уникального секретного слова (пароля).
  • Удобный интерфейс: Пошаговая навигация с использованием кнопок Inline-клавиатуры (ReplyKeyboardMarkup или InlineKeyboardMarkup).
  • Выдача контента: После успешной проверки бот отправляет пользователю постоянную ссылку на материалы, размещенные на внешнем файловом хостинге (Яндекс.Диск).
  • Масштабируемость: Архитектура бота должна быть рассчитана на одновременную работу с аудиторией от 200 до 500 пользователей без сбоев.

Требования к реализации и развертыванию

  • Язык программирования: Python с использованием библиотек aiogram, pyTelegramBotAPI или аналогичных.
  • Хостинг: Развертывание на бесплатной облачной платформе (например, Heroku, PythonAnywhere, Railway).
  • Надежность: Обработка ошибок, логирование основных событий.
  • Конфигурация: Все настройки (токен бота, ID канала, секретное слово, ссылка) должны быть вынесены в конфигурационный файл или переменные окружения.

Что требуется от исполнителя

  • Полноценная разработка и тестирование рабочего бота.
  • Настройка и развертывание на бесплатном хостинге.
  • Передача исходного кода и инструкции по запуску/администрированию.
  • Краткая пользовательская инструкция по взаимодействию с ботом.

Миграция с Postgres на ParadeDB и внедрение полнотекстового поиска BM25

Требуется выполнить апгрейд существующей работающей системы: заменить базу данных Postgres 17 с расширением pgvector на ParadeDB для расширения функций поиска с использованием метода BM25. Система развернута в Docker-контейнере на VPS под управлением Ubuntu Server 24.04.

Объединение разделов проектной документации стадии П в единый альбом

Требуется консолидация нескольких разделов проектной документации по разным пусковым комплексам. Необходимо создать единый альбом стадии П с обновленным оформлением и структурированием чертежей.