ircbot 0.4.0

An async IRC bot framework for Rust powered by Tokio and procedural macros
Documentation
[package]
name = "ircbot"
version = "0.4.0"
edition = "2021"
description = "An async IRC bot framework for Rust powered by Tokio and procedural macros"
license = "MIT"
repository = "https://github.com/chrj/ircbot"
readme = "README.md"
keywords = ["irc", "bot", "async", "tokio", "framework"]
categories = ["network-programming", "asynchronous"]

[features]
integration = []
tls = ["dep:tokio-rustls", "dep:rustls-native-certs"]

[package.metadata.docs.rs]
all-features = true

[dependencies]
tokio = { version = "1", features = ["full"] }
regex = "1"
futures = "0.3"
ircbot-macros = { version = "0.4.0", path = "../ircbot-macros" }
irc-proto = { version = "1", default-features = false }
cron = "0.17"
chrono = "0.4"
chrono-tz = "0.10"
leaky-bucket = "1"
thiserror = "2"
tracing = "0.1"
# TLS (optional, enabled by the `tls` feature). `ring` is chosen over the
# default `aws_lc_rs` provider because it builds without cmake/nasm, which
# matters for a library whose users control their own build environment.
tokio-rustls = { version = "0.26", default-features = false, features = [
    "ring",
    "tls12",
    "logging",
], optional = true }
rustls-native-certs = { version = "0.8", optional = true }

[dev-dependencies]
testcontainers = "0.27"
irc = { version = "1", default-features = false }
trybuild = "1.0"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
rcgen = "0.14"

[[example]]
name = "basic_bot"

[[example]]
name = "stateful_bot"

[[example]]
name = "tls_bot"
required-features = ["tls"]

[target.'cfg(unix)'.dependencies]
libc = "0.2"