- Added a new owner-only `/data [download/upload]` command for datafile backup and restoration *This is required as v0.4.2 requires a rebuild of the stack, and the existing data should be backed up in case of data loss*
128 lines
7.9 KiB
Plaintext
128 lines
7.9 KiB
Plaintext
# ─────────────────────────────────────────────────────────────
|
||
# Required
|
||
# ─────────────────────────────────────────────────────────────
|
||
DISCORD_TOKEN=<paste your bot token>
|
||
|
||
# Git repo to run (wrapper clones nightly and on boot)
|
||
REPO_URL=<https://git.example.com/you/shaiwatcher.git>
|
||
REPO_BRANCH=main
|
||
# If your repo is private, you can use a token; leave empty if not used
|
||
REPO_TOKEN=
|
||
|
||
# Wrapper update time (UTC) & test bump policy
|
||
CHECK_TIME_UTC=03:00
|
||
IGNORE_TEST_LEVEL=1 # 1 = ignore updates that change only the -T test suffix
|
||
|
||
# Optional commit subject feed used by your boot notice
|
||
SHAI_REPO_RSS=<https://git.example.com/you/shaiwatcher.rss>
|
||
|
||
# Where the bot stores data inside the container (don’t change)
|
||
SHAI_DATA_FILE=/data/data.json
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Volumes (external, never wiped by stack re-deploys)
|
||
# Create once: docker volume create shaiwatcher_data && docker volume create shaiwatcher_cache
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_VOL_DATA=shaiwatcher_data
|
||
SHAI_VOL_CACHE=shaiwatcher_cache
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Playwright / Headless browser (for DD scraping)
|
||
# Build with: docker compose build --build-arg WITH_PLAYWRIGHT=1
|
||
# ─────────────────────────────────────────────────────────────
|
||
WITH_PLAYWRIGHT=1 # 1 to bake Chromium+Playwright into the image
|
||
SHAI_DD_CHANNEL_ID=<channel id for DD message>
|
||
SHAI_DD_FETCHER=playwright # playwright|aiohttp (playwright recommended)
|
||
SHAI_DD_PW_TIMEOUT_MS=60000 # nav timeout
|
||
SHAI_DD_PW_WAIT= # domcontentloaded|load|networkidle (empty = default domcontentloaded)
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Slash command scope (your bot already honors this)
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_SLASH_GUILD_ONLY=true
|
||
SHAI_HOME_GUILD_ID=<home guild id>
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Channels
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_MOD_CHANNEL_ID=<id>
|
||
SHAI_MODLOG_CHANNEL_ID=<id>
|
||
SHAI_USERSLIST_CHANNEL_ID=<id>
|
||
SHAI_REPORT_CHANNEL_ID=<id>
|
||
SHAI_PIRATES_LIST_CHANNEL_ID=<id>
|
||
SHAI_TRIGGER_CHANNEL_ID=<id> # Auto-VC
|
||
SHAI_AUTO_VC_CATEGORY_ID=<id>
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Reaction messages
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_RULES_MESSAGE_ID=<id>
|
||
SHAI_ENGAGEMENT_MESSAGE_ID=<id>
|
||
SHAI_NICKNAME_MESSAGE_ID=<id>
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Roles
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_RULES_ROLE_ID=<id>
|
||
SHAI_ENGAGEMENT_ROLE_ID=<id>
|
||
SHAI_FULL_ACCESS_ROLE_ID=<id>
|
||
SHAI_ADMIN_ROLE_ID=<id>
|
||
SHAI_FIELD_MOD_ROLE_ID=<id>
|
||
SHAI_INTEL_MOD_ROLE_ID=<id>
|
||
SHAI_MODERATOR_ROLE_ID=<id>
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Auto-VC
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_VC_NAME_PREFIX=DD Crew
|
||
SHAI_AUTO_VC_CLEANUP_DELAY=30
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Threat weights
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_THREAT_W_KILL=0.30
|
||
SHAI_THREAT_W_DESTRUCTION=0.40
|
||
SHAI_THREAT_W_GROUP=0.20
|
||
SHAI_THREAT_W_SKILL=0.10
|
||
SHAI_THREAT_GROUP_THRESHOLD=3
|
||
SHAI_THREAT_MIN_SAMPLES_FOR_STATS=3
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Toggles
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_NICK_NUDGE_LOOP_ENABLED=false
|
||
SHAI_USER_CARDS_CRON_ENABLED=true
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# SpicePay defaults
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_SPICEPAY_LSR_CUT_PERCENT=10
|
||
SHAI_SPICEPAY_BASE_WEIGHT=25
|
||
SHAI_SPICEPAY_CARRIER_BONUS=12.5
|
||
SHAI_SPICEPAY_CRAWLER_BONUS=12.5
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Emojis (IDs)
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_EMOJI_MELANGE_ID=<id>
|
||
SHAI_EMOJI_SAND_ID=<id>
|
||
SHAI_EMOJI_CARRIER_CRAWLER_ID=<id>
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Docs site (optional)
|
||
# ─────────────────────────────────────────────────────────────
|
||
SHAI_DOCS_HOST=0.0.0.0
|
||
SHAI_DOCS_PORT=8910
|
||
SHAI_DOCS_TITLE=ShaiWatcher Commands
|
||
SHAI_DOCS_SUPPORT_URL=
|
||
SHAI_DOCS_SUPPORT_LABEL=Buy me a ☕
|
||
|
||
# ─────────────────────────────────────────────────────────────
|
||
# Wrapper knobs (optional)
|
||
# ─────────────────────────────────────────────────────────────
|
||
PIP_INSTALL_REQUIREMENTS=1
|
||
WRAPPER_STOP_TIMEOUT=25
|
||
|
||
# Keep Docker base locale happy
|
||
LANG=C.UTF-8
|