shaiwatcher/.env.example
Franz Rolfsvaag ebbebbacf7 0.4.2.1.a1
- 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*
2025-08-16 07:31:13 +02:00

128 lines
7.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ─────────────────────────────────────────────────────────────
# 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 (dont 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