[package] name = "teloxide-core" version = "0.10.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"] rustls-native-roots = ["reqwest/rustls-tls-native-roots"] 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"] # Trace bot adaptor trace_adaptor = [] # Erased bot adaptor erased = [] # CacheMe bot adaptor cache_me = [] # All features except nightly and tls-related full = ["throttle", "trace_adaptor", "erased", "cache_me"] [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 = "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" chrono = { version = "0.4.32", 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 }, ] [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dep_docsrs)'] } [[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", ]