docs: expand README with all providers, targets, bot commands, and smart actions
This commit is contained in:
@@ -2,15 +2,16 @@
|
||||
|
||||
A generic bridge between service providers and notification targets.
|
||||
|
||||
Notify Bridge monitors services (like Immich photo servers) for changes and dispatches
|
||||
notifications to configurable targets (Telegram, webhooks) using customizable templates.
|
||||
Notify Bridge monitors services (Immich, Gitea, Planka, NUT, Google Photos, generic webhooks,
|
||||
and internal scheduler) for changes and dispatches notifications to configurable targets
|
||||
(Telegram, Discord, Slack, Matrix, ntfy, email, generic webhooks) using customizable templates.
|
||||
|
||||
## Architecture
|
||||
|
||||
- **Service Providers** — Connectors to external services (Immich, more coming)
|
||||
- **Service Providers** — Connectors to external services (Immich, Gitea, Planka, NUT, Google Photos, generic Webhook, internal Scheduler)
|
||||
- **Trackers** — Monitor specific collections within a provider for changes
|
||||
- **Tracking Configs** — Define what events to watch for and scheduling rules
|
||||
- **Notification Targets** — Where to send notifications (Telegram chats, webhook URLs)
|
||||
- **Notification Targets** — Where to send notifications (Telegram, Discord, Slack, Matrix, ntfy, email, webhook URLs)
|
||||
- **Template Configs** — Jinja2 templates that format notifications per provider type
|
||||
|
||||
## Project Structure
|
||||
@@ -167,4 +168,48 @@ npm run dev
|
||||
|
||||
## Supported Providers
|
||||
|
||||
- **Immich** — Photo/video server with album change detection
|
||||
- **Immich** — Photo/video server with album change detection (polling)
|
||||
- **Gitea** — Git server with push / issue / PR / release events (webhook)
|
||||
- **Planka** — Kanban board with card / list / board events (webhook)
|
||||
- **NUT** — Network UPS Tools for battery / power events (polling)
|
||||
- **Google Photos** — Album change detection (polling)
|
||||
- **Generic Webhook** — Catch arbitrary JSON payloads and route them via templates (webhook)
|
||||
- **Scheduler** — Internal provider for time-based scheduled messages
|
||||
|
||||
## Supported Notification Targets
|
||||
|
||||
- **Telegram** — Bot API with rich formatting, media groups, and inline commands
|
||||
- **Discord** — Webhook-based delivery with embeds
|
||||
- **Slack** — Incoming webhooks with Block Kit formatting
|
||||
- **Matrix** — Homeserver delivery with HTML formatting
|
||||
- **ntfy** — Self-hostable push notifications
|
||||
- **Email** — SMTP with HTML / plain-text templates
|
||||
- **Generic Webhook** — POST custom JSON payloads to any URL
|
||||
|
||||
## Bot Commands
|
||||
|
||||
Telegram bots can serve interactive commands per provider. All commands use
|
||||
Jinja2 templates that you can customize from the **Command Templates** page.
|
||||
|
||||
| Provider | Commands |
|
||||
| -------- | -------- |
|
||||
| Immich | `/status` `/albums` `/events` `/summary` `/latest` `/memory` `/random` `/search` `/find` `/person` `/place` `/favorites` `/people` `/help` |
|
||||
| Gitea | `/status` `/repos` `/issues` `/prs` `/commits` `/help` |
|
||||
| Planka | `/status` `/boards` `/cards` `/lists` `/help` |
|
||||
| NUT | `/status` `/devices` `/battery` `/help` |
|
||||
| Google Photos | `/status` `/albums` `/latest` `/search` `/random` `/help` |
|
||||
| Generic Webhook | `/status` `/help` |
|
||||
|
||||
Every provider also responds to `/start`, and rate-limit / empty-result
|
||||
fallback messages are templated as well.
|
||||
|
||||
## Smart Actions
|
||||
|
||||
Beyond notifications, providers can run **actions** against the source service.
|
||||
Currently implemented:
|
||||
|
||||
- **Immich — Auto-Organize** — Automatically sort newly-detected assets into
|
||||
albums based on configurable rules. Each rule combines criteria (people in
|
||||
the photo, search query, favorites, date range) with a target album, and can
|
||||
create the album if it doesn't exist. Supports dry-run mode for previewing
|
||||
what would move before committing.
|
||||
|
||||
Reference in New Issue
Block a user