[package]
name = "twitch-irc"
description = "Connect to Twitch chat from a Rust application."
license = "MIT"
version = "2.1.0"
authors = ["Ruben Anders <ruben.anders@robotty.de>"]
repository = "https://github.com/robotty/twitch-irc-rs"
edition = "2018"
[package.metadata.docs.rs]
all-features = true
[dependencies]
itertools = "0.10.0"
async-trait = "0.1.42"
thiserror = "1.0.23"
futures = "0.3.11"
log = "0.4.13"
enum_dispatch = "0.3.5"
chrono = "0.4.19"
tokio = { version = "1.0", features = ["rt", "time", "sync", "macros"] }
tokio-util = { version = "0.6", features = ["codec"], optional = true }
bytes = { version = "1.0", optional = true }
tungstenite = { version = "0.12", optional = true }
async-tungstenite = { version = "0.12", features = ["tokio-runtime", "tokio-native-tls"], optional = true }
tokio-native-tls = { version = "0.3", optional = true }
native-tls = { version = "0.2.7", optional = true }
reqwest = { version = "0.11", features= ["json"], optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
metrics = { version = "0.12.1", optional = true }
smallvec = "1.6.1"
async-stream = { version = "0.3.0", optional = true }
[dev-dependencies]
maplit = "1.0.2"
env_logger = "0.8.2"
tokio = { version = "1.0", features = ["rt-multi-thread"] }
[lib]
name = "twitch_irc"
path = "src/lib.rs"
[[example]]
name = "simple_listener"
required-features = ["transport-tcp"]
[features]
default = ["transport-tcp"]
refreshing-token = ["reqwest", "serde", "chrono/serde"]
transport-tcp = ["bytes", "tokio-native-tls", "native-tls", "tokio/net", "tokio/io-util", "tokio-util", "async-stream"]
transport-wss = ["tungstenite", "async-tungstenite", "tokio-native-tls", "native-tls"]
metrics-collection = ["metrics"]