2f6a9687b118c35320f393b3303a4e379f822533
* 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>
Installation
-
Clone the repository
git clone https://github.com/Sop-rs/SREBOT_MEOW.git cd SREBOT_MEOW -
Set up Python virtual environment
python3 -m venv .venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies
pip install -r requirements.txt -
Configure environment variables
nano .envEdit the existing
.envin the repo root and keep the storage path there:SREBOT_DEPLOY_PATH=/absolute/path/to/SREBOT_MEOW DISCORD_KEY=your_discord_bot_token_here DEEPL_KEY=your_deepl_api_key_here # Optional GITHUB_WEBHOOK_SECRET=your_webhook_secret # For auto-deployment SREBOT_STORAGE_VOL_PATH=/absolute/path/to/storage SREBOT_API_BEARER_TOKEN=your_internal_api_token # Optional, protects /api/* SREBOT_EXTERNAL_PORT=18081 # External bridge port SREBOT_EXTERNAL_BEARER_TOKEN=your_external_bridge_token # Optional, protects the bridge API and websocket SREBOT_EXTERNAL_UPSTREAM_URL=http://127.0.0.1:6000 # Internal SREBOT API to proxy -
Run the bot
python BotScript.py
AXBot bridge process
ecosystem.config.js now includes a dedicated PM2 app named srebot-axbot.
It proxies read-only SREBOT queries and broadcasts replay/GOB envelopes over
websocket on the same external port.
Its outbox/state files live under the shared storage volume configured in
.env via SREBOT_STORAGE_VOL_PATH.
Useful commands:
pm2 start ecosystem.config.js --only srebot-api
pm2 start ecosystem.config.js --only srebot-axbot
pm2 logs srebot-axbot
Clients should point their query client at:
SREBOT_API_BASE_URL=http://<srebot-host>:18081
The bridge app logs both sides of the transfer:
- incoming client HTTP requests
- outgoing proxy responses
- websocket envelopes broadcast to connected clients
test
Description
Languages
Python
82.3%
JavaScript
17.6%