NEO3 — Server Vote
Модуль голосования за сервер на GameMonitoring с начислением баланса на сайте. Игрок голосует на мониторинге, возвращается на сайт, нажимает «Я проголосовал!» — модуль проверяет голос через API и зачисляет награду. Несколько серверов, таймер 12 часов, топ, логи, напоминания и Discord-интеграция.
🗳️ Голосование (VOTE)
- Карточки серверов на
/vote/ — баннер, описание, награда, кнопки действий
- Проголосовать — переход на GameMonitoring:
https://gamemonitoring.ru/counter-strike-2/servers/{server_id}/vote
- Я проголосовал! — проверка голоса через API GameMonitoring и начисление баланса
- Сопоставление игрока по Steam ID, профилю Steam и нику
- Кулдаун 12 часов — после награды вместо кнопки показывается таймер обратного отсчёта
- Свежий запрос к API при клейме (кэш голосов сбрасывается)
- Уведомление на сайте, если голос за последние 12 часов не найден
🏆 Топ игроков (TOP)
- Блок топа на главной странице голосования (как у топа донатеров)
- Фильтры: стрик голосов (по умолчанию) и всего голосов
- Аватар, ник, счётчик (голос / стрик), место справа
#1 #2 #3
- Стрик — непрерывные награды с паузой не больше 24 часов
- Три карточки в ряд, загрузка через AJAX
📜 Логи и активность (LOGS)
- Админ-страница
/vote/logs/
- Журнал действий: кто нажал «Проголосовать» и кто забрал награду
- Фильтры: сервер, тип действия, Steam ID
- Аватар, ник, сервер, сумма награды, дата
- Rate-limit на клики «Проголосовать» (не чаще 1 раза в минуту на сервер)
🔔 Напоминания (REMINDERS)
- Рассылка игрокам, которые голосовали раньше, но не голосовали последние 12 часов
- Один раз за цикл голосования
- Пропуск неактивных 2+ дня
- Уведомления на сайте с кнопкой перехода на
/vote/
💬 Discord (DISCORD)
- Webhook награды — сообщение, когда игрок успешно забрал голос
- Webhook промо — рекламный пост с баннером и кнопками
- Два embed: картинка баннера + текст с описанием
- Кнопки: Проголосовать (мониторинг) и Я проголосовал! (сайт)
- Превью промо-сообщения в настройках
- Автосохранение ссылки промо-webhook при вводе
⚙️ Настройки (SETTINGS)
/vote/settings/ — только для админов
- Награда за голос по умолчанию + отдельная награда на сервер
- Описание, цвет Discord-embed, URL баннера
- Список серверов: компактно — название + ID, справа иконки редактирования и удаления
- Добавление / редактирование / удаление сервера через модальные окна
- Ссылка голосования собирается автоматически по ID сервера (шаблон фиксированный)