mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-15 08:32:41 +00:00
Rewrite from TypeScript to Go
Complete rewrite of the Freebee Matrix bot as GogoBee using mautrix-go. - E2EE with goolm (pure Go, no CGo/libolm) and cross-signing bootstrap - 35+ plugins with dependency injection and ordered registration - SQLite storage via modernc.org/sqlite (no CGo) - Scheduler via robfig/cron for WOTD, holidays, birthdays, releases, etc. - Optional LLM integration (Ollama) for sentiment, profanity, roasts, vibes - Threaded trivia, three-tier profanity tracking, WOTD usage verification - Multi-country holiday support with deduplication - Quadratic XP curve, configurable bot display name, encrypted DMs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
60
.env.example
60
.env.example
@@ -1,57 +1,39 @@
|
||||
# Matrix
|
||||
MATRIX_HOMESERVER_URL=https://matrix.example.com
|
||||
MATRIX_ACCESS_TOKEN=syt_your_token_here
|
||||
MATRIX_BOT_USER_ID=@freebee:example.com
|
||||
MATRIX_BOT_PASSWORD=
|
||||
# ---- 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 actively posts scheduled content to (comma-separated)
|
||||
BOT_ROOMS=!roomid:example.com
|
||||
# Which rooms the bot posts scheduled content to (comma-separated room IDs)
|
||||
BROADCAST_ROOMS=!roomid:example.com
|
||||
|
||||
# Admins who can run admin-only commands
|
||||
BOT_ADMIN_USERS=@yourmxid:example.com
|
||||
# Admins who can run admin-only commands (comma-separated Matrix user IDs)
|
||||
ADMIN_USERS=@yourmxid:example.com
|
||||
|
||||
# Runtime
|
||||
BOT_PREFIX=!
|
||||
# ---- Runtime ----
|
||||
DATA_DIR=./data
|
||||
LOG_LEVEL=info
|
||||
|
||||
# External APIs
|
||||
# ---- External API Keys (all optional) ----
|
||||
RAWG_API_KEY=
|
||||
WORDNIK_API_KEY=
|
||||
CALENDARIFIC_API_KEY=
|
||||
ASIAN_HOLIDAY_COUNTRIES=JP,CN,KR,IN,TH,VN,TW,PH
|
||||
HEBCAL_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=
|
||||
|
||||
# ---- Self-Hosted Services (optional) ----
|
||||
LIBRETRANSLATE_URL=
|
||||
|
||||
# Scheduler times (24h UTC)
|
||||
SCHEDULE_HOLIDAYS_HOUR=7
|
||||
SCHEDULE_HOLIDAYS_MINUTE=0
|
||||
SCHEDULE_RELEASES_HOUR=19
|
||||
SCHEDULE_RELEASES_MINUTE=0
|
||||
|
||||
# Feature flags
|
||||
FEATURE_SHADE=false
|
||||
FEATURE_URL_PREVIEW=true
|
||||
|
||||
# Crypto reset (set to true to wipe and re-establish E2EE keys on next startup)
|
||||
CRYPTO_RESET=false
|
||||
|
||||
# LLM passive classifier (requires Ollama — leave blank to disable)
|
||||
OLLAMA_HOST=
|
||||
OLLAMA_MODEL=
|
||||
LLM_SAMPLE_RATE=0.15
|
||||
LLM_SAMPLE_RATE=0.15 # 0.0-1.0, fraction of non-keyword messages to classify (1.0 = all)
|
||||
|
||||
# Rate limits (calls per user per day, 0 = unlimited)
|
||||
RATELIMIT_WEATHER=5
|
||||
# ---- Feature Flags ----
|
||||
FEATURE_URL_PREVIEW=
|
||||
FEATURE_SHADE=
|
||||
FEATURE_TRIVIA=true # set to "false" to disable trivia
|
||||
|
||||
# ---- Rate Limits (per user per day) ----
|
||||
RATELIMIT_TRANSLATE=20
|
||||
RATELIMIT_CONCERTS=10
|
||||
|
||||
# Bot default city for concert digest and location-based features
|
||||
BOT_DEFAULT_CITY=
|
||||
|
||||
# Trivia
|
||||
TRIVIA_TIMEOUT_SECONDS=20
|
||||
|
||||
Reference in New Issue
Block a user