[package] name = "teloxide" version = "0.5.3" edition = "2018" description = "An elegant Telegram bots framework for Rust" repository = "https://github.com/teloxide/teloxide" documentation = "https://docs.rs/teloxide/" readme = "README.md" keywords = ["teloxide", "telegram", "telegram-bot", "telegram-bot-api"] categories = ["web-programming", "api-bindings", "asynchronous"] license = "MIT" exclude = ["media"] [features] default = ["native-tls", "ctrlc_handler", "teloxide-core/default", "auto-send", "cache-me", "dispatching2"] dispatching2 = ["dptree"] sqlite-storage = ["sqlx"] redis-storage = ["redis"] cbor-serializer = ["serde_cbor"] bincode-serializer = ["bincode"] frunk- = ["frunk"] macros = ["teloxide-macros"] ctrlc_handler = ["tokio/signal"] native-tls = ["teloxide-core/native-tls"] rustls = ["teloxide-core/rustls"] auto-send = ["teloxide-core/auto_send"] throttle = ["teloxide-core/throttle"] cache-me = ["teloxide-core/cache_me"] trace-adaptor = ["teloxide-core/trace_adaptor"] erased = ["teloxide-core/erased"] # currently used for `README.md` tests, building docs for `docsrs` to add `This is supported on feature="..." only.`, # and for teloxide-core. nightly = ["teloxide-core/nightly"] full = [ "sqlite-storage", "redis-storage", "cbor-serializer", "bincode-serializer", "frunk", "macros", "ctrlc_handler", "teloxide-core/full", "native-tls", "rustls", "auto-send", "throttle", "cache-me", "trace-adaptor", "erased", ] [dependencies] teloxide-core = { version = "0.4", default-features = false } teloxide-macros = { git = "https://github.com/teloxide/teloxide-macros.git", branch = "dispatching2", optional = true } serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } dptree = { git = "https://github.com/p0lunin/dptree", optional = true } tokio = { version = "1.8", features = ["fs"] } tokio-util = "0.6" tokio-stream = "0.1" flurry = "0.3" log = "0.4" bytes = "1.0" mime = "0.3" derive_more = "0.99" thiserror = "1.0" async-trait = "0.1" futures = "0.3.15" pin-project = "1.0" serde_with_macros = "1.4" sqlx = { version = "0.5", optional = true, default-features = false, features = [ "runtime-tokio-native-tls", "macros", "sqlite", ] } redis = { version = "0.20", features = ["tokio-comp"], optional = true } serde_cbor = { version = "0.11", optional = true } bincode = { version = "1.3", optional = true } frunk = { version = "0.4", optional = true } aquamarine = "0.1.11" [dev-dependencies] smart-default = "0.6.0" rand = "0.8.3" pretty_env_logger = "0.4.0" lazy_static = "1.4.0" anyhow = "1.0.52" serde = "1" serde_json = "1" tokio = { version = "1.8", features = ["fs", "rt-multi-thread", "macros"] } warp = "0.3.0" reqwest = "0.10.4" chrono = "0.4" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs", "-Znormalize-docs"] rustc-args = ["--cfg", "dep_docsrs"] cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples=examples"] [[test]] name = "redis" path = "tests/redis.rs" required-features = ["redis-storage", "cbor-serializer", "bincode-serializer"] [[test]] name = "sqlite" path = "tests/sqlite.rs" required-features = ["sqlite-storage", "cbor-serializer", "bincode-serializer"] [[example]] name = "dialogue" required-features = ["macros"] [[example]] name = "sqlite_remember" required-features = ["sqlite-storage", "bincode-serializer", "redis-storage", "macros"] [[example]] name = "simple_commands" required-features = ["macros"] [[example]] name = "redis_remember" required-features = ["redis-storage", "bincode-serializer", "macros"] [[example]] name = "inline" required-features = ["macros"] [[example]] name = "buttons" required-features = ["macros"] [[example]] name = "admin" required-features = ["macros"] [[example]] name = "dispatching2_features" required-features = ["macros"]