Expand description
§vinezombie
Vinezombie is a library for writing IRC software. For a basic overview, see its README on Github or sr.ht.
Vinezombie is very modular. The flexibility it offers comes at the expense of a steeper learning curve. The examples may be useful in learning how to use this library.
§Optional Features
Vinezombie has no mandatory dependencies besides std.
The default feature set is chosen to be enough to write IRC bots,
and includes the following:
base64: Required for SASL. Adds base64 encoding/decoding.client: Adds utilities for building client-side IRC software.crypto: Addsring-based cryptography, required for some SASL authenticators. Also addsringas a crypto provider to rustls iftlsis enabled.tls: Adds utilities for working with rustls. Does NOT pull in any crypto providers.tls-tokio: Impliestlsandtokio. Adds support for asynchronous TLS connections.tokio: Adds functions for Tokio-based I/O.
The following optional features are also available:
serde: Adds implementations ofSerialize+Deserializefor certain types.tracing: Adds logging to a few locations in the library. If your application useslog, this explains how to getlogevents from this library.tokio-codec: Adds support for parsing and writing IRC messages withtokio_util.whoami: Enables functions for creating strings from local user info.
§Features
Vinezombie includes parsers for IRCv3 messages and their components
which can be found in ircmsg.
If you are writing client-side software,
the client module includes an assortment of utilities
that may be useful while remaining close to the raw IRC protocol,
including a rudimentary event-handling system.
Modules§
- client
client - Utilities for building IRC clients or bots.
- error
- Error types.
- ircmsg
- Representations of IRC messages and their components.
- names
- Well-known values for IRC messages.
- owning
- Utilities for advanced control over ownership.
- state
- Definitions for IRC state tracking.
- string
- Byte strings and string manipulation utilities.
Macros§
- ctcp_
version_ handler client - Creates a
CtcpVersionhandler using the current package’s information.