2b399fdb81
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>
1.9 KiB
1.9 KiB
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