Commit Graph

13 Commits

Author SHA1 Message Date
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