Files
discord_bot/config.toml
T

58 lines
2.8 KiB
TOML

openai-key = "OPENAIKEY"
discord-token = "DISCORDTOKEN"
model = "gpt-3.5-turbo"
max-tokens = 1024
temperature = 0.9
top-p = 1.0
presence-penalty = 1.0
frequency-penalty = 1.0
history-limit = 10
welcome-channel = "welcome"
staff-channel = "staff"
join-message = "Hi! I am {name}, and I am new here."
system = "You are a smart AI assistant with access to real-time video game information through IGDB. When users ask about games, game recommendations, release dates, platforms, or any gaming-related questions, you can search for accurate and up-to-date information. You can search for games by name and get detailed information including ratings, platforms, developers, genres, and summaries."
# IGDB Configuration for game information
igdb-client-id = "YOUR_IGDB_CLIENT_ID"
igdb-access-token = "YOUR_IGDB_ACCESS_TOKEN"
enable-game-info = true
# --- operator / safety (SPEC-003, SPEC-006) ---
# Model may route answers only to allowlisted channels; default = the
# channels named in this config (chat/staff/welcome/additional-responders).
# allowed-channels = ["chat", "staff"]
# Regexes that force a staff alert regardless of the model's judgement:
# staff-alert-keywords = ["(?i)hjelp|help|emergency"]
# Staff-alert rate limit per rolling hour (excess alerts are logged):
# staff-alert-max-per-hour = 10
# Staff commands (staff channel only): !bot pause | resume | images on|off
# | tasks on|off | quiet <minutes> | status
# Cost governance (SPEC-003 SAF-04..07) — budget is a HARD cap, fail-closed:
# daily-budget-usd = 2.0
# price-input-per-m = 1.0 # USD per 1M input tokens (gpt-5.6-luna)
# price-output-per-m = 6.0 # USD per 1M output tokens
# price-per-image = 0.05
# user-daily-messages = 200
# user-daily-images = 10
# Privacy (SAF-08/09): users can always run !forgetme and !privacy
# privacy-notice = "I keep recent messages and a summary. !forgetme deletes yours."
# Structured memory (SPEC-002) — active only when memory-model is set:
# memory-model = "gpt-5.6-luna"
# memory-consolidate-every = 20 # observations per consolidation batch
# memory-episodes-per-channel = 10 # episode decay cap
# memory-fact-retention-days = 180 # GDPR storage limitation
# Staff: !bot memory <user> | forget-fact <id> | pin <channel|global> <fact> | unpin <id>
# Human behavior (SPEC-010) — every knob unset = old behavior:
# classifier-model = "gpt-5.6-luna" # reply/ignore + factual pre-pass (~100 tok)
# typing-chars-per-second = 30 # reply pacing; factual answers skip it
# typing-max-seconds = 8
# split-threshold = 1200 # long answers split at paragraphs
# split-max-parts = 3
# quiet-hours = "21:00-09:00" # no bot-initiated posts in this window
# Image generation (SPEC-004)
# image-model = "gpt-image-2" # default; dall-e-3 gets clamped to n=1
# image-size = "1024x1024"
# image-quality = "medium" # passed through only when set