Описание проекта
Необходимо разработать бота для сообщества ВКонтакте, выполняющего функции массовых коммуникаций с подписчиками и автоматизации конкурсов. Это аналог ботов в Telegram, но полностью адаптированный под экосистему VK.
Ключевой функционал
Базовые интеграции
- Подключение к выбранному сообществу через VK API (Callback API или Long Poll).
- Получение и обработка списка подписчиков (методы groups.getMembers).
- Обработка входящих сообщений от пользователей.
Автоматические ответы
- Отправка приветственного сообщения новым подписчикам (для пользующихся сообществом).
- Настраиваемые сценарии автоответов на ключевые фразы.
Система рассылок
- Отправка целевых сообщений в личные диалоги (подписчикам).
- Возможность рассылки напрямую в беседу (чат) сообщества.
- Поддержка текстового контента, изображений с вложениями (прикрепляемыми по API) и интерактивных кнопок (keyboard).
- Планировщик запуска отправок (указание точного времени или отложенный старт.
- Сегментация получателей: фильтр по полям 'Страна' и 'Город', получаемых через API из профиля (только для внутренней обработки и законодательства).
Механика розыгрышей
- Сбор участников: парсинг реакций (лайки), факта репоста записи или комментариев к посту.
- Фильтрация списка участников: исключение дубликатов, отсеивание по искусственным критериям (параметры: возраст профиля, количество друзей).
- Выбор победителя: три режима - полностью случайный (random), взвешенный (учитывающий активность подписчика, выполненные дополнительные условия), или ручной клик администратора.
- Уведомление выигравшего пользователя от бота с шаблонным сообщением.
Административная панель
- Веб-интерфейс с дашбордом: базовая статистика (сколько человек получили рассылку, количество участников в разных розыгрышах).
- Редактор (конструктор) контента для нового мероприятия: тут собираются сообщения (текст + картинки + кнопки) и настраивается вся схема конкурса.
- Управление сегментами аудитории из списка существующих категорий пользователей базы.
- Архив операций: список отправленных рассылок с историей (пи же клики?), завершенных розыгрышей.
- Экспорт данных (результатов опросов, отчетов, ссылок) в формат CSV или Excel.
База подписчиков
Храним обезличенные профили: идентификатор пользователя (VK ID), внутренне используемые идентификаторы страны и города. Поиск по сохраненным ID.