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>
This commit is contained in:
NotSoToothless
2026-05-13 23:49:54 -07:00
committed by GitHub
parent 4d9954934d
commit a7de9ecad2
2 changed files with 55 additions and 6 deletions
+16 -6
View File
@@ -1,14 +1,24 @@
#!/usr/bin/env python3
"""Entry point for TSSBOT. Skeleton only."""
"""Entry point for TSSBOT. Skeleton — idles until BOT/botscript.py is wired."""
import signal
import sys
import time
from pathlib import Path
# Ensure TSSBOT root and BOTS/SHARED are importable
# Make TSSBOT root and BOTS/SHARED importable.
_HERE = Path(__file__).resolve().parent
_SHARED = _HERE.parent / "SHARED"
sys.path.insert(0, str(_HERE))
sys.path.insert(0, str(_SHARED))
sys.path.insert(0, str(_HERE.parent / "SHARED"))
def _handle_signal(signum, _frame):
print(f"[tssbot] received signal {signum}, exiting")
sys.exit(0)
if __name__ == "__main__":
print("TSSBOT skeleton — implement BOT/botscript.py and wire it in here.")
sys.exit(0)
signal.signal(signal.SIGTERM, _handle_signal)
signal.signal(signal.SIGINT, _handle_signal)
print("[tssbot] skeleton booted — replace with real bot once BOT/botscript.py exists")
while True:
time.sleep(60)