Commit Graph

34 Commits

Author SHA1 Message Date
NotSoToothless 2f4ae54bdb fix script (#1347) 2026-06-20 21:16:00 -07:00
NotSoToothless 018a09150d add tss tournament stuff (#1346) 2026-06-20 21:12:53 -07:00
NotSoToothless b665eb118f add WL to tss scoreboards (#1345) 2026-06-20 18:55:17 -07:00
NotSoToothless f855e289c8 meow (#1344) 2026-06-19 18:47:44 -07:00
NotSoToothless e44a9c815c fix zone issues (#1343) 2026-06-19 18:28:52 -07:00
NotSoToothless 60e91fb4e9 meowww (#1336) 2026-06-18 21:04:40 -07:00
NotSoToothless 2f81b8c816 -am (#1335) 2026-06-18 20:11:22 -07:00
NotSoToothless f4cb72cb78 last changes (#1334) 2026-06-18 04:04:12 -07:00
NotSoToothless d490c1c8d5 -am (#1333) 2026-06-18 02:39:21 -07:00
NotSoToothless 32e747212f Auto merge dev → main (#1332)
* feat(tssbot): build_match_logs + match_logs persistence

* feat(tssbot): create match_logs table and write logs at ingest

* feat(tssbot): one-time match_logs backfill script

* feat(srebot): persist chat/battle logs to match_logs (parity, no backfill)

* feat(tssbot): Battle/Chat Log buttons on Discord scoreboards
2026-06-18 01:02:59 -07:00
NotSoToothless 53e3db9159 add tss map images and update scoreboard again (#1331) 2026-06-17 18:40:19 -07:00
NotSoToothless c5b74de367 meow (#1330) 2026-06-17 01:21:00 -07:00
NotSoToothless 7bd8a1b72c -am (#1329) 2026-06-17 00:32:30 -07:00
deploy d07afdee21 rename long_name → name in TSS teams schema
teams_data and team_name_history used long_name (an SRE concept for
teams with both a long and short name). TSS teams have one name only.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 01:07:37 +00:00
NotSoToothless abab7ea9fa tss db wipe and update (#1305) 2026-06-07 17:28:16 -07:00
NotSoToothless 632a441080 new spectra format (#1302) 2026-06-05 11:48:42 -07:00
NotSoToothless 553d84cc31 add timeline page (#1295) 2026-06-04 10:16:40 -07:00
NotSoToothless 016041dc88 move venv to shared (#1291) 2026-05-31 01:43:19 -07:00
NotSoToothless c69478166b update helps and commands (#1288) 2026-05-30 09:09:29 -07:00
NotSoToothless 7edc0202f4 lets get this party starteddddd (#1287) 2026-05-30 08:45:32 -07:00
NotSoToothless bd3871ef20 meow (#1285) 2026-05-29 07:07:09 -07:00
NotSoToothless 6fb303e26f change to hex and update DBs (#1284) 2026-05-29 07:05:20 -07:00
NotSoToothless 66e010c890 meow (#1270) 2026-05-25 22:48:57 -07:00
NotSoToothless ac01217e16 update tss and sre replay area (#1269) 2026-05-25 21:24:56 -07:00
NotSoToothless f5270be494 auto-migrate teams_data.clanrating and team_members.points on tssbot boot (#1235)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 14:30:02 -07:00
NotSoToothless 8e2f56df79 add TSS API endpoints + web proxy (#1234)
Adds /api/tss/teams/* and /api/tss/leaderboard/teams to SREBOT/server.js,
reading tss_battles.db and tss_teams.db with queries adapted to the
team_id / team_name / teams_data schema. Mirrors the existing
/api/squadrons/* endpoints. SREBOT/web/server.js gains matching proxy
routes so the frontend can reach them via the website host.

TSSBOT/BOT/storage.py picks up the columns and table the endpoints need
to return meaningful data: teams_data.clanrating, team_members.points,
and a new teams_points history table. All idempotent under the existing
init_tss_dbs() call.

Co-authored-by: Heidi <clippii@protonmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 14:21:58 -07:00
NotSoToothless e56951fcb2 TSS storage (#1233) 2026-05-14 14:03:59 -07:00
NotSoToothless 335a7fb8d0 set TSSBOT presence to "Soon..." (#1232)
Adds a custom-activity status in on_ready so the bot reads
"Soon..." in the member list until the real feature set lands.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:14:45 -07:00
NotSoToothless e4677b7564 disable privileged intents in TSSBOT/start_bot.py (#1231)
bot.run() was crashing with PrivilegedIntentsRequired because
intents.message_content=True needs the toggle enabled in the Discord
developer portal. Mirror SREBOT's intent config: message_content=False,
reactions+messages on. TSSBOT can opt into the privileged intent later
if/when it needs message content.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:12:00 -07:00
NotSoToothless 72833465dc drop require('dotenv') from ecosystem.config.js files (#1230)
TSSBOT has no node_modules/ on the server (no package.json was ever
installed for it), so `require('dotenv').config()` crashes pm2 with
MODULE_NOT_FOUND when it loads the ecosystem file. The dotenv call was
already dead code: every spawned app loads its own .env in its own
process (botscript.py, server.js, web/server.js, webhook updater,
TSSBOT/start_bot.py all do load_dotenv / require('dotenv').config()
themselves). Remove the require from both ecosystem files.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:09:51 -07:00
NotSoToothless cd0576b88a consolidate runtime env into .env, drop ecosystem env blocks (#1229)
- Make .env the single source of truth for runtime config. Remove all
  `env:` blocks from SREBOT/ecosystem.config.js and TSSBOT/ecosystem.config.js
  so values can't silently shadow .env. Both ecosystem files load .env via
  `require('dotenv').config()` and PM2 inherits the resolved environment.

- Rename SREBOT_STORAGE_VOL_PATH → STORAGE_VOL_PATH across all readers
  (BOT/utils.py, BOT/receiver_bridge.py, BOT/render_recap.py, server.js,
  web/server.js, dateindex.js, scripts/*, srebot.service, tests/, README,
  and both .env files). STORAGE is shared between SREBOT and TSSBOT, so the
  variable shouldn't carry one bot's prefix.

- Rename per-process PORT env vars to disambiguated names so .env can be
  the source of truth without collisions:
    PORT (api)     → SREBOT_API_PORT     (server.js)
    PORT (web)     → SREBOT_WEB_PORT     (web/server.js)
    WEBHOOK_PORT   → SREBOT_WEBHOOK_PORT (github_webhook_updater.py)
  SREBOT_EXTERNAL_HOST/PORT/UPSTREAM_URL were already uniquely named;
  they just move from ecosystem env to .env.

- TSSBOT/.env: drop GITHUB_WEBHOOK_SECRET (only srebot-webhook consumes it)
  and the stale SREBOT_DEPLOY_PATH. SREBOT/.env: also drop the obsolete
  SREBOT_DEPLOY_PATH (ecosystem now hardcodes __dirname).

- ecosystem.config.js no longer references SREBOT_DEPLOY_PATH; deploy path
  is always __dirname of the ecosystem file.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:07:34 -07:00
NotSoToothless 34e9af2f94 make TSSBOT/start_bot.py a real Discord bot and reuse SREBOT venv (#1227)
- TSSBOT/start_bot.py: replace the print-and-idle stub with a minimal
  discord.py Client (commands.Bot with default+message_content intents).
  Loads TSSBOT/.env via python-dotenv, reads DISCORD_KEY, logs on_ready,
  handles SIGTERM/SIGINT cleanly. Aborts with a clear error if the token
  is missing instead of silently exit-looping.

- TSSBOT/ecosystem.config.js: switch the default interpreter from system
  python3 to SREBOT's venv (../SREBOT/.venv/bin/python). Both bots share
  BOTS/SHARED and the same baseline deps (discord.py, dotenv, …); split
  into a dedicated TSSBOT/.venv only when the dependency sets diverge.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:55:44 -07:00
NotSoToothless a7de9ecad2 Auto merge dev → main (#1226)
* add tssbot PM2 entry + extend webhook updater to handle TSSBOT

- TSSBOT/ecosystem.config.js: defines just the tssbot app for now.
  Uses system python3 (skeleton has no deps); switch to .venv/bin/python
  once TSSBOT/BOT/botscript.py and a real dependency set exist.
- TSSBOT/start_bot.py: change the stub from exit-immediately to an
  idle loop with SIGTERM/SIGINT handling so PM2 doesn't restart-loop
  the placeholder.
- SREBOT/github_webhook_updater.py: same listener handles the whole
  monorepo. Add a tssbot restart rule that triggers on TSSBOT/BOT/,
  TSSBOT root .py, TSSBOT/start_bot.py, TSSBOT/ecosystem.config.js,
  or SHARED/ changes. A push to SHARED restarts both bots; pushes
  scoped to one bot only restart that bot.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* update game files and start tssbot

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:49:54 -07:00
FURRO404 4d9954934d add SREBOT, SHARED, TSSBOT contents (fixup for #1223)
PR #1223 only staged the deletions of the old paths because the new
top-level directories were still untracked when the commit was authored.
This commit adds the actual restructured tree: SREBOT/ (existing bot),
SHARED/ (vromfs, data_parser, ICONS/MAPS/FONTS, DAGOR_FILES,
update_game_files), and TSSBOT/ (skeleton).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:17:02 -07:00