bb29db6f32
v0.4.2: SQLite, subscriptions, Sonarr webhook, daily digest
...
- Enable maubot's bundled SQLite (database: true, webapp: true)
- Schema: subscriptions(mxid, sonarr_series_id, title, added_at) +
digest_state for once-daily idempotency
- Commands: !media subscribe / unsubscribe / subscriptions / digest
- @web.post(/sonarr-webhook): on Download events, mention subscribers
in notifications_room (Bearer auth via sonarr_webhook_secret)
- Daily digest loop: fires at digest_hour (Indianapolis), summarises
Emby recently-added, NZBGet+qBt 24h completions, queue depth.
Approximate EST/EDT calc since maubot container ships without tzdata.
2026-04-28 19:13:19 -04:00
bec9a1b8e7
v0.2.0: discovery, downloads control, numbered selection
...
Emby:
- !media find <q> — search the existing library
- !media resume — continue-watching list (with progress %)
- !media random [movie|tv] — random unwatched pick
Sonarr/Radarr:
- !media health — active warnings on either arr
Downloads:
- !media speed — aggregate down/up across NZBGet + qBt
- !media completed — finished in the last 24h
- !media pause / !media unpause — global pause/resume
QoL:
- Numbered selection: !media search dune then !media request 2
- Optional per-user defaults: default_media_type, result_count
2026-04-28 17:57:50 -04:00
8c62c9fd31
Initial commit: media bot v0.1.0
...
Maubot plugin: Matrix companion for the homelab media stack.
Services wrapped:
- Seerr: search, request, requests, trending
- Emby: nowplaying, recent, watched
- Sonarr/Radarr: queue, upcoming, missing
- NZBGet/qBittorrent: activity
Each Matrix sender is mapped to per-service user IDs via plugin config;
unmapped senders are rejected. Replies are MXID-prefixed for shared rooms.
2026-04-28 08:22:38 -04:00