LemonChannels (lemon_channels v0.1.0)
View SourceLemonChannels provides channel plugins and outbox for message delivery.
This app is responsible for:
- Channel plugin registration and discovery
- Outbound message delivery with retry and rate limiting
- Deduplication to prevent duplicate messages
- Chunking for long messages
- Telegram adapter (and future channel adapters)
Architecture
[Router] -> [Outbox] -> [Plugin] -> [External Channel]
|
v
[Dedupe/RateLimit/Chunker]Plugin System
Channels are implemented as plugins that implement the LemonChannels.Plugin
behaviour. Each plugin provides:
normalize_inbound/1- Convert raw channel data to InboundMessagedeliver/1- Send outbound payloads to the channelgateway_methods/0- Control plane methods for the channel
Summary
Functions
Enqueue an outbound payload for delivery.
Get a registered channel plugin by ID.
List all registered channel plugins.