Техническое задание: Telegram-бот для VPN-сервиса

Основные требования

Необходимо создать Telegram-бота, который станет главной точкой входа для пользователей сервиса. Бот обеспечивает весь цикл взаимодействия: от проверки подписки до подключения к VPN.

Функциональность бота

  • Старт и главное меню - приветственное сообщение и навигация.
  • Статус подписки - отображение информации об активной подписке, дате окончания и количестве использованных устройств.
  • Лимит устройств - поддержка до 4 одновременно подключенных устройств для одного пользователя.
  • Кнопка «Подключиться» - предоставление конфигураций/инструкций для подключения к серверу.
  • Покупка подписки - интеграция платежной системы, стоимость и тарифы.
  • Реферальная программа - приглашение друзей с отслеживанием переходов и возможных бонусов.
  • Статус серверов - информация о загрузке и доступности VPN-серверов.
  • Поддержка - связь с администрацией через бота или внешнюю систему тикетов.
  • Проверка подписки на канал/чат - покупка и использование бота доступны только тем пользователям, которые подписаны на определенный канал. При отписке доступ блокируется.

Дополнительно

  • Веб-панель для управления пользователями, конфигурациями и отчетами (на усмотрение разработчика - REST API + простой интерфейс).
  • Защита от брутфорса и проверок подписки.

Технические детали

Рекомендуется использование чистого Python (без Aiogram? - уточнить у заказчика) или фреймворков для ботов (Aiogram, PyTelegramBotAPI). Для данных - PostgreSQL, Redis для кэширования статусов.