Skip to main content

apollo/channels/
mod.rs

1//! Channel abstraction — communication interfaces
2//! Enable only what you need via Cargo features.
3
4pub mod formatting;
5pub mod http_inject;
6pub mod media;
7pub mod registry;
8pub mod traits;
9#[cfg(any(
10    feature = "channel-googlechat",
11    feature = "channel-msteams",
12    feature = "channel-whatsapp"
13))]
14pub mod webhook;
15
16// Core channels (always available or feature-gated)
17#[cfg(feature = "channel-cli")]
18pub mod cli;
19#[cfg(feature = "channel-discord")]
20pub mod discord;
21#[cfg(feature = "channel-discord")]
22pub mod discord_gateway;
23#[cfg(feature = "channel-googlechat")]
24pub mod googlechat;
25#[cfg(feature = "channel-irc")]
26pub mod irc;
27#[cfg(feature = "channel-matrix")]
28pub mod matrix;
29#[cfg(feature = "channel-msteams")]
30pub mod msteams;
31#[cfg(feature = "channel-signal")]
32pub mod signal;
33#[cfg(feature = "channel-slack")]
34pub mod slack;
35#[cfg(feature = "channel-telegram")]
36pub mod telegram;
37#[cfg(feature = "channel-whatsapp")]
38pub mod whatsapp;
39
40pub use registry::{ChannelBuilder, ChannelRegistry, ChannelSettings};
41pub use traits::{
42    Channel, Delivery, DraftChannel, IncomingMessage, MediaKind, MediaSource, OutgoingMedia,
43    OutgoingMessage,
44};