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

Необходимо разработать бота для сообщества ВКонтакте, выполняющего функции массовых коммуникаций с подписчиками и автоматизации конкурсов. Это аналог ботов в Telegram, но полностью адаптированный под экосистему VK.

Ключевой функционал

Базовые интеграции

  • Подключение к выбранному сообществу через VK API (Callback API или Long Poll).
  • Получение и обработка списка подписчиков (методы groups.getMembers).
  • Обработка входящих сообщений от пользователей.

Автоматические ответы

  • Отправка приветственного сообщения новым подписчикам (для пользующихся сообществом).
  • Настраиваемые сценарии автоответов на ключевые фразы.

Система рассылок

  • Отправка целевых сообщений в личные диалоги (подписчикам).
  • Возможность рассылки напрямую в беседу (чат) сообщества.
  • Поддержка текстового контента, изображений с вложениями (прикрепляемыми по API) и интерактивных кнопок (keyboard).
  • Планировщик запуска отправок (указание точного времени или отложенный старт.
  • Сегментация получателей: фильтр по полям 'Страна' и 'Город', получаемых через API из профиля (только для внутренней обработки и законодательства).

Механика розыгрышей

  • Сбор участников: парсинг реакций (лайки), факта репоста записи или комментариев к посту.
  • Фильтрация списка участников: исключение дубликатов, отсеивание по искусственным критериям (параметры: возраст профиля, количество друзей).
  • Выбор победителя: три режима - полностью случайный (random), взвешенный (учитывающий активность подписчика, выполненные дополнительные условия), или ручной клик администратора.
  • Уведомление выигравшего пользователя от бота с шаблонным сообщением.

Административная панель

  • Веб-интерфейс с дашбордом: базовая статистика (сколько человек получили рассылку, количество участников в разных розыгрышах).
  • Редактор (конструктор) контента для нового мероприятия: тут собираются сообщения (текст + картинки + кнопки) и настраивается вся схема конкурса.
  • Управление сегментами аудитории из списка существующих категорий пользователей базы.
  • Архив операций: список отправленных рассылок с историей (пи же клики?), завершенных розыгрышей.
  • Экспорт данных (результатов опросов, отчетов, ссылок) в формат CSV или Excel.

База подписчиков

    Храним обезличенные профили: идентификатор пользователя (VK ID), внутренне используемые идентификаторы страны и города. Поиск по сохраненным ID.