114 lines
3.7 KiB
Plaintext
114 lines
3.7 KiB
Plaintext
# ===========================================
|
|
# Discord Configuration
|
|
# ===========================================
|
|
# Your Discord bot token (get it from https://discord.com/developers/applications)
|
|
DISCORD_TOKEN=your_discord_bot_token_here
|
|
|
|
# ===========================================
|
|
# AI Provider Configuration
|
|
# ===========================================
|
|
# Available providers: "openai", "openrouter", "anthropic", "gemini"
|
|
AI_PROVIDER=openai
|
|
|
|
# Model to use (e.g., gpt-4o, gpt-4o-mini, claude-3-5-sonnet, etc.)
|
|
AI_MODEL=gpt-4o
|
|
|
|
# Provider API Keys (set the one you use)
|
|
OPENAI_API_KEY=sk-xxx
|
|
OPENROUTER_API_KEY=sk-or-xxx
|
|
ANTHROPIC_API_KEY=sk-ant-xxx
|
|
GEMINI_API_KEY=xxx
|
|
|
|
# Maximum tokens in AI response (100-4096)
|
|
AI_MAX_TOKENS=1024
|
|
|
|
# AI creativity/randomness (0.0 = deterministic, 2.0 = very creative)
|
|
AI_TEMPERATURE=0.7
|
|
|
|
# ===========================================
|
|
# Bot Identity & Personality
|
|
# ===========================================
|
|
# The bot's name, used in the system prompt to tell the AI who it is
|
|
BOT_NAME=My Bot
|
|
|
|
# Personality traits that define how the bot responds (used in system prompt)
|
|
BOT_PERSONALITY=helpful and friendly
|
|
|
|
# Message shown when someone mentions the bot without saying anything
|
|
BOT_DESCRIPTION=I'm an AI assistant here to help you.
|
|
|
|
# Status message shown in Discord (displays as "Watching <BOT_STATUS>")
|
|
BOT_STATUS=for mentions
|
|
|
|
# Optional: Override the entire system prompt (leave commented to use auto-generated)
|
|
# SYSTEM_PROMPT=You are a custom assistant...
|
|
|
|
# ===========================================
|
|
# Conversation Settings
|
|
# ===========================================
|
|
# Number of messages to remember per user (higher = more context, more tokens)
|
|
MAX_CONVERSATION_HISTORY=20
|
|
|
|
# Minutes of inactivity before starting a new conversation (5-1440)
|
|
CONVERSATION_TIMEOUT_MINUTES=60
|
|
|
|
# ===========================================
|
|
# Database (PostgreSQL) - Optional
|
|
# ===========================================
|
|
# PostgreSQL connection URL (if not set, uses in-memory storage)
|
|
# Format: postgresql+asyncpg://user:password@host:port/database
|
|
# Uncomment to enable persistent memory:
|
|
# DATABASE_URL=postgresql+asyncpg://daemon:daemon@localhost:5432/daemon_boyfriend
|
|
|
|
# Password for PostgreSQL when using docker-compose
|
|
POSTGRES_PASSWORD=daemon
|
|
|
|
# Echo SQL statements for debugging (true/false)
|
|
DATABASE_ECHO=false
|
|
|
|
# Connection pool settings
|
|
DATABASE_POOL_SIZE=5
|
|
DATABASE_MAX_OVERFLOW=10
|
|
|
|
# ===========================================
|
|
# Web Search (SearXNG)
|
|
# ===========================================
|
|
# SearXNG instance URL for web search (enables the bot to access current information)
|
|
SEARXNG_URL=https://search.example.com
|
|
|
|
# Enable/disable web search capability (true/false)
|
|
SEARXNG_ENABLED=true
|
|
|
|
# Maximum number of search results to fetch (1-20)
|
|
SEARXNG_MAX_RESULTS=5
|
|
|
|
# ===========================================
|
|
# Logging & Monitoring
|
|
# ===========================================
|
|
# Log level: DEBUG, INFO, WARNING, ERROR
|
|
LOG_LEVEL=INFO
|
|
|
|
# Log file path (optional - logs to console only if not set)
|
|
# LOG_FILE=logs/bot.log
|
|
|
|
# Custom log format (optional)
|
|
# LOG_FORMAT=%(asctime)s - %(name)s - %(levelname)s - %(message)s
|
|
|
|
# ===========================================
|
|
# Commands Reference
|
|
# ===========================================
|
|
# Monitoring:
|
|
# !status - Detailed metrics (admin only)
|
|
# !health - Quick health check (anyone)
|
|
#
|
|
# Memory (requires database):
|
|
# !setname <name> - Set your preferred name
|
|
# !clearname - Reset to Discord display name
|
|
# !remember <fact> - Tell the bot something about you
|
|
# !whatdoyouknow - See what the bot remembers
|
|
# !forgetme - Clear all facts about you
|
|
#
|
|
# Admin Memory:
|
|
# !setusername @user <name> - Set name for another user
|
|
# !teachbot @user <fact> - Add a fact about a user
|