[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]
default = ["native-tls"]
rustls = ["reqwest/rustls-tls"]
rustls-native-roots = ["reqwest/rustls-tls-native-roots"]
native-tls = ["reqwest/native-tls"]
nightly = []
throttle = ["vecrem"]
trace_adaptor = []
erased = []
cache_me = []
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"] }
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"]
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"]
doc-scrape-examples = true
[[example]]
name = "erased"
required-features = [
"tokio/macros",
"tokio/rt-multi-thread",
"erased",
"trace_adaptor",
]