Commit Graph

13 Commits

Author SHA1 Message Date
103d09c4a9 docs: comprehensive infrastructure audit, Cinny deployment, and optimization pass
- Fix PostgreSQL IP (10.10.10.44, not .2) and add all LXC resource/version details
- Add Cinny Web LXC 106 (10.10.10.6) — Debian 13, Cinny 4.10.5 from add-joined-call-controls
  branch, nginx, HA enabled, weekly auto-update cron, NPM proxy with SSL
- Add Uptime Kuma LXC 101 (10.10.10.25) to infrastructure table
- Add full internal port map, running service table, and key paths for all LXCs
- Apply and document all optimizations:
  - PostgreSQL: shared_buffers 128MB→1500MB, tuning conf, pg_stat_statements, pg_hba lockdown
  - LiveKit: ICE ports 400→1001, TURN TTL 24h→1h, room empty/departure timeouts
  - Synapse: event_cache_size 15K→30K, _get_state_group_for_events cache factor
  - sysctl: TCP/UDP buffer alignment on LXC 151 (BBR noted as host-level only)
  - Bot: nio_store cleared, E2EE key errors resolved
- Add 7 Uptime Kuma monitors (Synapse, LiveKit, PostgreSQL, Cinny, coturn, lk-jwt, hookshot)
- Add Draupnir and Cinny branding as upcoming TODO items
- Update priority order, checklists, and Known Issues throughout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 17:16:44 -04:00
1219b73492 Use NYT Wordle API for daily word instead of local list
Fetches today's word from https://www.nytimes.com/svc/wordle/v2/YYYY-MM-DD.json
so puzzle numbers and solutions match the official NYT Wordle. Results are
cached per day; falls back to the local answer list if the API is unreachable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 10:21:30 -05:00
d0fd260336 Auto-share Wordle result to origin room on game end
Instead of posting "Check your DMs" when !wordle is used in a public
room, the bot now silently routes the game to DMs and automatically
posts the spoiler-free emoji share grid back to the origin room (e.g.
Commands) when the game ends — win, lose, or give up.

Also removed the "use !wordle share" prompt from win/loss messages
since sharing now happens automatically.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 14:23:57 -05:00
4b3864bb77 Add Bazarr + Huntarr webhook notifications via Apprise jsons://
Both services now send notifications to the hookshot webhook endpoint:
- Bazarr: switched from broken Apprise Matrix URL to JSON notifier
  with jsons://matrix.lotusguild.org/webhook/<uuid>
- Huntarr: fixed apprise_url from raw https:// to jsons:// scheme

Both hookshot transforms updated to parse Apprise JSON payload:
{version, title, message, type, attachments}

Huntarr avatar set from selfhst icons CDN.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 14:59:04 -05:00
889569c087 Fix !wordle silence in public rooms — notify user to check DMs
When !wordle is used in a public room (e.g. Commands), the bot now
sends "📬 Check your DMs to play Wordle!" before redirecting the game
to a DM. Previously the user saw no response at all.

Also refactors handle_wordle to resolve the DM room once and reuse it
across all subcommands, eliminating repeated _get_dm_room calls.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 10:39:11 -05:00
7bfc4d9e4b Remove Welcome room from README (room no longer exists)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 10:31:01 -05:00
dff2f0e2b1 Add Wordle, welcome system, integrations, and update roadmap
- Add Wordle game engine with daily puzzles, hard mode, stats, and share
- Add welcome module (react-to-join onboarding, Space join DMs)
- Add Ollama LLM integration (!ask), Minecraft RCON whitelist (!minecraft)
- Add !trivia, !champion, !agent, !health commands
- Add DM routing for Wordle (games in DMs, share to public room)
- Update README: reflect Phase 4 completion, hookshot webhook setup,
  infrastructure migration (LXC 151/109 to large1), Spam and Stuff room,
  all 12 webhook connections with UUIDs and transform notes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 10:29:36 -05:00
5723ac3581 Add Phase 2: integrations, admin, and remaining commands
New commands: agent, trivia (with 30s timer reveal), ask (Ollama LLM
with cooldown), minecraft (RCON whitelist), health (admin-only metrics).
Adds metrics tracking, per-user cooldowns, and admin permission checks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 20:52:57 -05:00
50de731a82 Add Matrix bot Phase 1: core setup + fun commands
Modular bot using matrix-nio[e2e] with E2EE support, deployed as
systemd service on Synapse LXC. Includes 10 commands: help, ping,
8ball, fortune, flip, roll, random, rps, poll, champion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 20:42:28 -05:00
28fdc2c24f Update roadmap: rate limiting, media retention, admin dashboard, sliding sync
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 20:06:55 -05:00
a9ac9f2f1d Update roadmap: Phase 1 complete - PostgreSQL, TURN, URL previews, search, upload limit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 19:57:01 -05:00
7e35a46145 Combine bot todo and server roadmap into single README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:12:19 -05:00
a67bc2c33b Initial commit: README with project plan and todo list
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:06:21 -05:00