[package] name = "teloxide-core" version = "0.9.1" description = "Core part of the `teloxide` library - telegram bot API client" rust-version.workspace = true edition.workspace = true license.workspace = true homepage.workspace = true repository.workspace = true documentation = "https://docs.rs/teloxide-core/" readme = "README.md" keywords = ["teloxide", "telegram", "telegram-bot", "telegram-bot-api", "bot"] categories = ["api-bindings", "asynchronous"] [features] # NB: When adding features here, don't forget to update teloxide's Cargo.toml default = ["native-tls"] rustls = ["reqwest/rustls-tls"] native-tls = ["reqwest/native-tls"] # Features which require nightly compiler. # # Currently the only used compiler feature is feature(type_alias_impl_trait) # which allow implementing `Future`s without boxing. nightly = [] # Throttling bot adaptor throttle = ["vecrem", "tokio/macros"] # Trace bot adaptor trace_adaptor = [] # Erased bot adaptor erased = [] # CacheMe bot adaptor cache_me = [] # AutoSend bot adaptor auto_send = [] # All features except nightly and tls-related full = ["throttle", "trace_adaptor", "erased", "cache_me", "auto_send"] [dependencies] futures = "0.3.5" tokio = { version = "1.12.0", features = ["fs"] } tokio-util = { version = "0.7.0", features = ["codec"] } pin-project = "1.0.12" bytes = "1.0.0" reqwest = { version = "0.11.10", features = ["json", "stream", "multipart"], default-features = false } url = { version = "2", features = ["serde"] } log = "0.4" serde = { version = "1.0.114", features = ["derive"] } serde_json = "1.0.55" serde_with_macros = "1.5.2" uuid = { version = "1.1.0", features = ["v4"] } # for attaching input files derive_more = "0.99.9" mime = "0.3.16" thiserror = "1.0.20" once_cell = "1.5.0" takecell = "0.1" take_mut = "0.2" rc-box = "1.1.1" never = "0.1.0" chrono = { version = "0.4.30", default-features = false } either = "1.6.1" bitflags = { version = "1.2" } vecrem = { version = "0.1", optional = true } [dev-dependencies] pretty_env_logger = "0.4" tokio = { version = "1.8.0", features = ["fs", "macros", "macros", "rt-multi-thread"] } cool_asserts = "2.0.3" xshell = "0.2" ron = "0.7" indexmap = { version = "1.9", features = ["serde-1"] } aho-corasick = "0.7" itertools = "0.10" [package.metadata.docs.rs] features = ["full", "nightly", "tokio/macros", "tokio/rt-multi-thread"] rustdoc-args = ["--cfg", "docsrs", "-Znormalize-docs"] # https://github.com/rust-lang/rust/issues/88791 cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"] [package.metadata.release] tag-prefix = "core-" enable-features = ["full"] pre-release-replacements = [ {file="README.md", search="teloxide-core = \"[^\"]+\"", replace="teloxide-core = \"{{version}}\""}, {file="src/lib.rs", search="teloxide-core = \"[^\"]+\"", replace="teloxide-core = \"{{version}}\""}, {file="CHANGELOG.md", search="## unreleased", replace="## unreleased\n\n## {{version}} - {{date}}", exactly=1}, ] [[example]] name = "self_info" required-features = ["tokio/macros", "tokio/rt-multi-thread"] # This is required due to some stuff with dev-dependencies, # backwards compatability and cargo: # https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#scrape-examples doc-scrape-examples = true [[example]] name = "erased" required-features = ["tokio/macros", "tokio/rt-multi-thread", "erased", "trace_adaptor"]