NotSoToothless ff420e131f fix relative .data_parser imports in BOT/* after SHARED move (#1224)
PR #1223 + fixup moved data_parser into BOTS/SHARED, but five BOT modules
(analytics, autologging, botscript, lux_apis, meta_manager) still used
`from .data_parser import ...`. That relative form looks inside the BOT
package, which no longer contains data_parser, so the bot crashed at
startup with ModuleNotFoundError.

Add BOT/__init__.py to put BOTS/SHARED on sys.path at package import,
then switch all five files to absolute `from data_parser import ...`.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:30:15 -07:00

Installation

  1. Clone the repository

    git clone https://github.com/Sop-rs/SREBOT_MEOW.git
    cd SREBOT_MEOW
    
  2. Set up Python virtual environment

    python3 -m venv .venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install dependencies

    pip install -r requirements.txt
    
  4. Configure environment variables

    nano .env
    

    Edit the existing .env in 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
    
  5. 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

S
Description
Toothless SQB Discord Bot - War Thunder squadron statistics
Readme 87 MiB
Languages
Python 82.3%
JavaScript 17.6%