//! Minimal IRC protocol layer — the "IRC library". //! //! Implements just enough of the modern IRC client protocol //! () to drive a bot: //! //! * [`Message`] / [`Prefix`] — parsing of the wire format //! `@tags :source COMMAND params`, including IRCv3 message tags and //! trailing parameters ([`message`]). //! * [`Connection`] — a blocking TCP/TLS transport with convenience senders //! ([`connection`]). //! * Small self-contained helpers — base64 and `server-time` parsing //! ([`encoding`]) — so the layer stays dependency-free apart from TLS. //! //! It is deliberately self-contained, so it can grow into a small reusable IRC //! library independent of the bot logic in [`crate::bot`]. #![allow(dead_code)] // Library-style module; not every helper/sender is used yet. mod connection; mod encoding; mod message; pub use connection::Connection; pub use encoding::{base64_encode, now_unix, parse_server_time}; pub use message::{Message, Prefix};