Merged single-repo Discord bot for:
- STFC-Verifier
- STFC-Verifier-Alliance
- Veil-Security
The runtime is profile-selected with BOT_PROFILE and executes the corresponding
merged implementation from bot/legacy_profiles/.
python3 -m pip install -e ".[dev]"
cp .env.example .env
python3 -m bot.mainSet one value:
BOT_PROFILE=stfc_verifierBOT_PROFILE=stfc_verifier_allianceBOT_PROFILE=veil_security
Core:
DISCORD_TOKEN,BOT_PROFILE,GUILD_ID,VERIFY_CHANNEL_IDLOG_CHANNEL_ID,SUPPORT_CHANNEL_ID,UPDATE_CHECK_HOURS,DEBUG
STFC rank profiles (stfc_verifier, stfc_verifier_alliance):
STFC_SERVER_NUMBERorSTFC_SERVER_IDMEMBER_ROLE_ID,COMMODORE_ROLE_ID,ADMIRAL_ROLE_IDVERIFY_ROLE_ID(orVERIFIED_ROLE_ID)ADMIN_ROLE_ID
Veil security profile:
OPS71_PLUS_ROLE_IDorOPS71_ROLE_IDMINIMUM_OPS_LEVELorMIN_OPS_LEVELVERIFY_ROLE_ID(orVERIFIED_ROLE_ID)ADMIN_ROLE_ID
Database:
DB_PATH(optional explicit path)- default when unset:
data/{BOT_PROFILE}_{GUILD_ID}.sqlite3
Hardcoded channel mentions were removed from profile implementations.
Set SUPPORT_CHANNEL_ID to render <#id> dynamically. If unset, fallback text is used.
python3 -m pytest -q