Build reusable bot framework
Some checks failed
CI / test (push) Has been cancelled
CI / compose-smoke (push) Has been cancelled

This commit is contained in:
Chelsea Lee
2026-07-19 21:53:24 -05:00
parent 7ecc1107b2
commit fbdf33e894
66 changed files with 8428 additions and 0 deletions

42
.env.example Normal file
View File

@@ -0,0 +1,42 @@
# Copy this file to .env and replace every placeholder before use.
# PostgreSQL
DB_HOST=127.0.0.1
DB_PORT=5432
DB_NAME=app
DB_USER=app
DB_PASS=replace-with-a-database-password
# Authentication and internal service access
JWT_SECRET=replace-with-a-long-random-jwt-secret
BOT_API_KEY=replace-with-a-random-service-key-at-least-32-characters
BOT_API_KEY_SCOPES=discord:session,outbox:claim,outbox:deliver
# Discord adapter
DISCORD_BOT_TOKEN=replace-with-your-discord-bot-token
DISCORD_ENROLLMENT_MODE=allowlist
# Local default; Docker Compose overrides this inside the bot container.
DISCORD_ALLOWLIST=123456789012345678
API_URL=http://127.0.0.1:5000
# OpenAI-compatible model provider
OPENROUTER_API_KEY=replace-with-your-provider-api-key
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
# AI_MODEL=provider/model-name
# Scheduler and durable outbox
JOB_POLL_INTERVAL=5
JOB_BATCH_SIZE=20
JOB_LEASE_SECONDS=300
OUTBOX_POLL_INTERVAL=5
OUTBOX_BATCH_SIZE=20
# Reminder defaults
DEFAULT_TIMEZONE=UTC
# Optional runtime settings
LOG_LEVEL=INFO
MAX_REQUEST_BYTES=1048576
NOTIFICATION_TIMEOUT=10
NTFY_BASE_URL=https://ntfy.sh
# NTFY_TOKEN=