Includes full bot source (Phases 1–4), plus five new features: - Epic 1: emoji reaction state machine (👀⏳✅🎲) + burst queue cap at 2 with in-world drop notices - Epic 2: per-encounter tone field in YAML injected into LLM system prompt - Epic 3: player pronouns via modal registration + system prompt players block - Epic 4: strengthened skill_check_emit tool contract + missed-skill-check diagnostic Also includes UX design docs, epics, and story files under Docs/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
69 lines
3.5 KiB
Plaintext
69 lines
3.5 KiB
Plaintext
DISCORD_TOKEN=your_discord_bot_token
|
||
DISCORD_CLIENT_ID=your_discord_application_id
|
||
# DISCORD_GUILD_ID=your_server_id # Set for instant command registration (vs 1hr global propagation)
|
||
|
||
# ── Redis ──────────────────────────────────────────────────────────────────────
|
||
# Shared with GraphMCP-Example stack via knowledge-graph-ai_internal network
|
||
REDIS_URL=redis://redis:6379
|
||
|
||
# How long a session stays alive in Redis without activity (hours)
|
||
# SESSION_TTL_HOURS=12
|
||
|
||
# ── Ollama / LLM ───────────────────────────────────────────────────────────────
|
||
OLLAMA_BASE_URL=http://192.168.1.x:11434
|
||
OLLAMA_MODEL=gemma4-it:e2b
|
||
|
||
# Sampling temperature — higher = more creative, lower = more consistent (0–2)
|
||
# OLLAMA_TEMPERATURE=0.75
|
||
|
||
# Context window in tokens — must match your model's actual max
|
||
# OLLAMA_NUM_CTX=131072
|
||
|
||
# LLM call timeout in milliseconds
|
||
# OLLAMA_TIMEOUT_MS=120000
|
||
|
||
# ── GraphMCP ───────────────────────────────────────────────────────────────────
|
||
GRAPHMCP_URL=http://mcp-server:9000
|
||
|
||
# Minimum semantic similarity score (0–1) to count a chunk as relevant context.
|
||
# Raise to be stricter (fewer but more accurate results).
|
||
# Lower to be more permissive (more context, more noise).
|
||
# GRAPHMCP_SCORE_THRESHOLD=0.68
|
||
|
||
# How many memory chunks to fetch per NPC at encounter start
|
||
# GRAPHMCP_NPC_MEMORY_LIMIT=5
|
||
|
||
# How many chunks to fetch when @Zalram is mentioned
|
||
# GRAPHMCP_MENTION_LIMIT=5
|
||
|
||
# ── Encounter behaviour ────────────────────────────────────────────────────────
|
||
SPECS_DIR=./specs
|
||
|
||
# Delay before archiving a resolved thread — gives players time to read the ending (ms)
|
||
# ENCOUNTER_ARCHIVE_DELAY_MS=5000
|
||
|
||
# How long the player-gate embed stays visible before auto-delete (ms)
|
||
# ENCOUNTER_GATE_TIMEOUT_MS=30000
|
||
|
||
# ── Persona ────────────────────────────────────────────────────────────────────
|
||
# Path to the YAML file defining the bot's @mention persona
|
||
# PERSONA_PATH=./persona.yaml
|
||
|
||
# ── Access control ─────────────────────────────────────────────────────────────
|
||
# Comma-separated channel IDs where encounters are allowed.
|
||
# The bot checks the parent channel of threads before responding.
|
||
# Leave empty and the bot responds nowhere (secure by default).
|
||
# DISCORD_ALLOWED_CHANNELS=123456789012345678,987654321098765432
|
||
DISCORD_ALLOWED_CHANNELS=
|
||
|
||
# Comma-separated user IDs who can use /encounter commands. Empty = everyone.
|
||
# DISCORD_ALLOWED_USERS=123456789012345678,987654321098765432
|
||
DISCORD_ALLOWED_USERS=
|
||
|
||
# ── Logging ────────────────────────────────────────────────────────────────────
|
||
LOG_LEVEL=debug
|
||
|
||
|
||
LITELLM_BASE_URL=
|
||
LITELLM_API_KEY=
|
||
LITELLM_MODEL=ollama-cloud |