multi-channel notification delivery with atomic message batching
Implements a notification abstraction layer supporting 9+ delivery channels (WeChat, WeWork, Feishu, Telegram, Email, ntfy, Bark, Slack, etc.). Each channel has a provider-specific formatter that converts normalized news items into channel-appropriate messages (e.g., WeChat card format, Telegram markdown, email HTML). The system batches notifications atomically—all news items for a report are sent as a single batch to each channel, ensuring consistency and reducing API calls. Message formatting respects channel constraints (character limits, attachment limits, etc.) and supports templating for customization.
Unique: Implements atomic message batching across 9+ heterogeneous channels with provider-specific formatters and constraint-aware truncation. Single configuration enables simultaneous delivery to WeChat, WeWork, Feishu, Telegram, Email, ntfy, Bark, Slack, etc. without code changes.
vs alternatives: Supports more channels (especially Chinese platforms like WeWork, Feishu) than generic notification services, and batching reduces API calls and spam compared to per-item notifications.