# Application
APP_NAME=PXEBot
APP_ENV=production
APP_KEY=base64:Pe6foL46ajQY3VWr9jduODLzM9MFYpJ2NRD95hWFlfc=
APP_DEBUG=false
APP_TIMEZONE=UTC
APP_URL=https://phxbot.com
APP_LOCALE=en
APP_FALLBACK_LOCALE=en

# Logging
LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=error

# Database - cPanel Configuration
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=hasnaintech_phxbot
DB_USERNAME=hasnaintech_phxbot
DB_PASSWORD=VGHylVwv(t9k

# Redis - Used for cache, queue, rate limiting
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
REDIS_DB=0
REDIS_CACHE_DB=1

# Queue Configuration
QUEUE_CONNECTION=database
# Number of times to retry failed jobs
QUEUE_RETRY_AFTER=90
# Maximum number of concurrent queue workers per queue
HORIZON_QUEUE_WORKERS=3

# Cache
CACHE_DRIVER=database
CACHE_PREFIX=pxebot_cache

# Session
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null

# Broadcasting
BROADCAST_DRIVER=log

# Mail Configuration (for auth emails)
MAIL_MAILER=log
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="noreply@phxbot.com"
MAIL_FROM_NAME="${APP_NAME}"

# YouTube OAuth2 Configuration
# Create at: https://console.cloud.google.com/apis/credentials
# Required scopes: youtube.readonly, youtube.force-ssl, youtube
YT_CLIENT_ID=462694888013-ha9grtb6o0mbgvd6cgnhpl4of06dnbju.apps.googleusercontent.com
YT_CLIENT_SECRET=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
YT_REDIRECT_URI="${APP_URL}/oauth/google/callback"

# OpenAI Configuration
# Get API key from: https://platform.openai.com/api-keys
OPENAI_API_KEY=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
# Recommended: gpt-4o-mini for cost efficiency, gpt-4o for quality
OPENAI_MODEL=gpt-4o-mini
# Temperature for responses (0.0-2.0, lower = more deterministic)
OPENAI_TEMPERATURE=0.7
# Maximum tokens per response
OPENAI_MAX_TOKENS=200
# Request timeout in seconds
OPENAI_REQUEST_TIMEOUT=30

# Rate Limiting
# Maximum outbound messages per tenant per minute
RATE_LIMIT_OUTBOUND_PER_MIN=12
# Maximum outbound messages per tenant per hour
RATE_LIMIT_OUTBOUND_PER_HOUR=200
# Per-user cooldown between messages (seconds)
RATE_LIMIT_USER_COOLDOWN=10

# YouTube Polling Configuration
# Default polling interval in seconds (respect YouTube's pollingIntervalMillis)
YT_POLL_INTERVAL_SECONDS=2
# Increase interval on error (backoff multiplier)
YT_POLL_BACKOFF_MULTIPLIER=1.5
# Maximum polling interval during backoff
YT_POLL_MAX_INTERVAL_SECONDS=30
# Maximum messages to fetch per poll
YT_POLL_MAX_RESULTS=200

# Bot Behavior
# Minimum chat activity (messages) in window for timers to fire
TIMER_ACTIVITY_THRESHOLD=3
# Activity window in minutes
TIMER_ACTIVITY_WINDOW_MIN=10
# Default command cooldown in seconds
DEFAULT_COMMAND_COOLDOWN=5
# Enable OpenAI content moderation before posting
ENABLE_CONTENT_MODERATION=true
# Auto-detect questions for OpenAI (vs. only explicit triggers)
AUTO_DETECT_QUESTIONS=true

# Admin Settings
# Super-admin email (gets admin role on registration)
SUPER_ADMIN_EMAIL=admin@phxbot.com

# Telescope (dev only - disable in production)
TELESCOPE_ENABLED=false
TELESCOPE_PATH=telescope

# Horizon Dashboard
HORIZON_PATH=horizon
# Horizon auth: 'true' requires login, 'false' is public (local only!)
HORIZON_AUTH_REQUIRED=true

# Trusted Proxies (production load balancer IPs)
TRUSTED_PROXIES=*

# Asset URL (CDN if used)
ASSET_URL=null

# Vite
VITE_APP_NAME="${APP_NAME}"
