1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! botkit-cli: an IM platform implemented as an agent-friendly CLI.
//!
//! Instead of talking to Discord/Telegram/Matrix, a `CliBot` speaks a JSONL
//! wire protocol: drivers inject [`Inbound`] events (messages, commands,
//! button presses, reactions, edits — with media, stickers, threads, and
//! replies) and observe every [`Outbound`] action the bot performs
//! (messages, files, reactions, edits, deletes, pins, typing indicators).
//!
//! Two transports:
//!
//! - [`Transport::Stdio`] — stdin/stdout, for `cargo run` debugging.
//! - [`Transport::Unix`] — a unix socket the `botkit-cli` driver binary
//! connects to, for driving a long-running bot process.
//!
//! [`Transport::Manual`] attaches nothing: the owner injects and subscribes
//! through the [`CliHub`] handle directly (tests, in-process embedding).
//!
//! ```ignore
//! use botkit_cli::{CliBot, Transport};
//! use botkit_core::Bot;
//!
//! let bot = CliBot::new(Transport::Stdio)
//! .command("ping", || async { "pong" })
//! .message(|ctx: botkit_core::Context| async move {
//! format!("echo: {}", ctx.message_content().unwrap_or(""))
//! });
//! bot.run().await?;
//! ```
pub use CliBot;
pub use ;
pub use CliHub;
pub use Transport;
pub use ;