Об этом проекте
Torn Faction Attacks — это Cloudflare Worker и панель React, предназначенные для импорта данных атак фракции Torn в Cloudflare D1 и отслеживания эффективности фракции на уровне войн и отдельных участников.
Ключевые функции включают запланированный сбор данных из Torn API, неизменяемое хранение атак, отслеживание войн (активные, запланированные, завершенные, импортированные), автоматическое привязывание атак к окнам войн, сводные таблицы итогов по войнам и статистики участников, конечные точки JSON API и панель React.
Стек: Cloudflare Workers, D1, Wrangler, TypeScript, Torn API v2.
Структура проекта модульная: есть файлы для сбора данных, войн, отчетов, сводок, разведки противника, аутентификации, SQL-хелперов, констант, типов и утилит. Миграции постепенно добавляют таблицы для атак, войн, состояния синхронизации, сводок, статистики участников, участников вражеской и домашней фракции, тепловых карт активности, администраторов и сессий аутентификации.
Для конфигурации требуется привязка D1 с именем `DB`, секрет `TORN_API_KEY` и необязательные секреты для API BSP и FFScouter. Общий секрет `MONITOR_TICKET_SECRET` подписывает WebSocket-тикеты для мониторинга больниц противника. Идентификатор домашней фракции настраивается в `src/constants.ts`.
Миграции базы данных можно применять локально или удаленно через Wrangler. Основные таблицы перечислены в README.
Конечные точки API включают проверки работоспособности, ручной сбор данных, пересборку статистики, список атак, создание/импорт/завершение войн, получение сводок по войнам, разведку противника, сравнение разведданных, тепловые карты активности, бонусы цепочек и пересчет уважения участников. Аутентификация использует ключи Torn, а административный доступ предоставляется участникам фракции; при необходимости администраторы с доступом фракции могут добавляться автоматически.
Команда Discord `/war me` конфиденциально показывает эффективность атак вызывающего и полученное уважение с ограничением 30 секунд на войну/участника.
Запланированный сбор данных выполняется каждую минуту через cron и обрабатывает создание/активацию войн, получение атак, обновление сводок, отслеживание счета и разведку противника. Профилактический запуск каждые 15 минут собирает данные об активности, обновляет статус revivable, загружает недостающие отчеты и повторяет оценку характеристик.
Инструкции по разработке охватывают установку, проверки, локальную разработку и развертывание. Панель React в каталоге `dashboard/` развертывается через Cloudflare Pages с настройками сборки и переменной окружения для базового URL API.
Модель администрирования намеренно остается облегченной, пока проект развивается.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.