mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-15 08:32:41 +00:00
Space groups: automatic room grouping via membership overlap percentage. Rooms with sufficient shared members are grouped together so leaderboards, trivia scores, and stats aggregate across the community. Uses strict clique-based algorithm (every room must meet threshold with every other room in group). Configurable via SPACE_GROUP_THRESHOLD env var. Persisted to SQLite, recomputed hourly and on startup. HLTB scraper: rewrote for new howlongtobeat.com API (two-step token auth via /api/finder/init + /api/finder endpoint). Quote wall: fix E2EE decrypt flow for reply-to-save (ParseRaw before Decrypt, skip ParseRaw after Decrypt returns pre-parsed event). Fix subcommand matching for delete/search. Remove broken star-reaction handler and old quote handler from user.go. Other fixes: - Strip Matrix reply fallback before command detection (main.go) - Increase Ollama context window to 8192 - Improve tarot spread prompts (~4x longer, narrative arc) - Add "cards are props" instruction to tarot LLM prompt - Fix movies.go CommandDef name mismatch - Add Community category to !help - Remove daily horoscope broadcast cron - Update README with all changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
57 lines
2.0 KiB
Plaintext
57 lines
2.0 KiB
Plaintext
# ---- Matrix Connection ----
|
|
HOMESERVER_URL=https://matrix.example.com
|
|
BOT_USER_ID=@gogobee:example.com
|
|
BOT_PASSWORD=your_password_here
|
|
BOT_DISPLAY_NAME=GogoBee
|
|
|
|
# Which rooms the bot posts scheduled content to (comma-separated room IDs)
|
|
BROADCAST_ROOMS=!roomid:example.com
|
|
|
|
# Admins who can run admin-only commands (comma-separated Matrix user IDs)
|
|
ADMIN_USERS=@yourmxid:example.com
|
|
|
|
# ---- Runtime ----
|
|
DATA_DIR=./data
|
|
LOG_LEVEL=info
|
|
|
|
# ---- External API Keys (all optional) ----
|
|
RAWG_API_KEY=
|
|
WORDNIK_API_KEY=
|
|
CALENDARIFIC_API_KEY=
|
|
HOLIDAY_COUNTRIES=US,GB,CA,AU,PT,IN,JP,DE,FR,BR,MX,IT,ES,KR,NL,SE,NO,IE,NZ,ZA,PH
|
|
OPENWEATHER_API_KEY=
|
|
FINNHUB_API_KEY=
|
|
BANDSINTOWN_API_KEY=
|
|
TMDB_API_KEY=
|
|
SERPAPI_KEY= # SerpAPI key for image fetching (esteemed members)
|
|
|
|
# ---- Self-Hosted Services (optional) ----
|
|
LIBRETRANSLATE_URL=
|
|
OLLAMA_HOST=
|
|
OLLAMA_MODEL=
|
|
LLM_SAMPLE_RATE=0.15 # 0.0-1.0, fraction of non-keyword messages to classify (1.0 = all)
|
|
|
|
# ---- Feature Flags ----
|
|
FEATURE_URL_PREVIEW=
|
|
FEATURE_SHADE=
|
|
FEATURE_TRIVIA=true # set to "false" to disable trivia
|
|
FEATURE_ESTEEMED= # set to anything to enable satirical esteemed member posts
|
|
ESTEEMED_ROOM= # room ID for esteemed member posts (separate from broadcast rooms)
|
|
|
|
# ---- Space Groups (automatic room grouping for community-wide leaderboards) ----
|
|
SPACE_GROUP_THRESHOLD=50 # % of smaller room's members that must overlap (1-100, default 50)
|
|
|
|
# ---- Missing Members (!haveyouseenthem / !missing) ----
|
|
MISSING_THRESHOLD_DAYS=14 # days of inactivity before considered missing
|
|
MISSING_MAX_DAYS=90 # days after which they're considered gone, not missing
|
|
MISSING_MIN_MESSAGES=10 # minimum lifetime messages to be eligible
|
|
MISSING_EXCLUDE_USERS= # comma-separated user IDs to never list as missing
|
|
|
|
# ---- Encryption ----
|
|
QUOTE_ENCRYPTION_KEY= # Base64-encoded 32-byte AES-256 key (required for !quote)
|
|
|
|
# ---- Rate Limits (per user per day) ----
|
|
RATELIMIT_WEATHER=5
|
|
RATELIMIT_TRANSLATE=20
|
|
RATELIMIT_CONCERTS=10
|