twitchchat 0.13.1

interface to the irc-side of twitch's chat system
Documentation
[package]

name          = "twitchchat"

edition       = "2018"

version       = "0.13.1"

authors       = ["museun <museun@outlook.com>"]

keywords      = ["twitch", "irc", "async", "asynchronous", "tokio"]

license       = "MIT OR Apache-2.0"

readme        = "README.md"

description   = "interface to the irc-side of twitch's chat system"

documentation = "https://docs.rs/twitchchat/latest/twitchchat/"

repository    = "https://github.com/museun/twitchchat"

categories    = ["asynchronous", "network-programming", "parser-implementations"]



[package.metadata.docs.rs]

rustdoc-args = ["--cfg", "docsrs"]

all-features = true



[features]

default = []

async = [

    "log",

    "futures-lite",

    "pin-project-lite",

    "async-dup",

    "async-channel",

    "futures-timer",

    "fastrand",

]



[dependencies]

# logging support

log = { version = "0.4.11", optional = true }



# just the futures traits

futures-lite = { version = "1.3.0", optional = true }



# field pin projection

pin-project-lite = { version = "0.1.7", optional = true }



# cloneable async writes

async-dup = { version = "1.2.1", optional = true }



# message passing

async-channel = { version = "1.4.2", optional = true }



# for timing out futures

futures-timer = { version = "3.0.2", optional = true }



# for 'fairness' in the main loop

fastrand = { version = "1.3.5", optional = true }



# for optional serialization and deserialization

serde = { version = "1.0.115", features = ["derive"], optional = true }



# optional runtimes (for TcpStream)

# these use the futures AsyncWrite+AsyncRead

async-io  = { version = "1.0.1", optional = true }

smol      = { version = "1.0.0", optional = true }

async-tls = { version = "0.10.0", default-features = false, features = ["client"], optional = true } 

# TODO look into what their features do. the ones they have enabled by default seem important

async-std = { version = "1.6.3", optional = true }



# tokio has its own AsyncWrite+AsyncRead

tokio            = { version = "0.2.22", features = ["net"], optional = true } 

tokio-util       = { version = "0.3.1", features = ["compat"], optional = true }



tokio-rustls     = { version = "0.14.1", optional = true }

webpki-roots     = { version = "0.20.0", optional = true }



tokio-native-tls = { version = "0.1.0", optional = true }

native-tls       = { version = "0.2.4", optional = true }



[dev-dependencies]

anyhow         = "1.0.32"

async-executor = { version = "1.0.0", default-features = false }

serde_json     = "1.0.57"

rmp-serde      = "0.14.4"



[[example]]

name = "message_parse"

required-features = ["async"]



[[example]]

name = "smol_demo"

required-features = ["smol", "async"]



[[example]]

name = "async_io_demo"

required-features = ["async-io", "async"]



[[example]]

name = "async_std_demo"

required-features = ["async-std", "async-std/attributes", "async"]



[[example]]

name = "tokio_demo"

required-features = ["tokio/full", "tokio-util", "async"]



[[example]]

name = "simple_bot"

required-features = ["smol", "async"]