[package]
edition = "2024"
rust-version = "1.85"
name = "ronami"
version = "1.5.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A full-featured Telegram bots framework for Rust"
homepage = "https://github.com/ZethRise/Ronami"
documentation = "https://docs.rs/ronami/"
readme = "README.md"
keywords = [
"ronami",
"telegram",
"telegram-bot",
"telegram-bot-api",
"bot",
]
categories = [
"web-programming",
"api-bindings",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/ZethRise/Ronami"
resolver = "2"
[package.metadata.docs.rs]
features = [
"full",
"nightly",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
rustc-args = [
"--cfg",
"dep_docsrs",
]
cargo-args = [
"-Zunstable-options",
"-Zrustdoc-scrape-examples",
]
[package.metadata.release]
tag-prefix = ""
enable-features = ["full"]
[[package.metadata.release.pre-release-replacements]]
file = "../../README.md"
search = 'ronami = \{ version = "[^"]+"'
replace = 'ronami = { version = "{{version}}"'
[[package.metadata.release.pre-release-replacements]]
file = "../../CHANGELOG.md"
search = "## unreleased"
replace = """
## unreleased
## {{version}} - {{date}}"""
exactly = 1
[features]
bincode-serializer = ["bincode"]
cache-me = ["ronami-core/cache_me"]
cbor-serializer = ["serde_cbor"]
ctrlc_handler = ["tokio/signal"]
default = [
"native-tls",
"ctrlc_handler",
"ronami-core/default",
]
erased = ["ronami-core/erased"]
full = [
"webhooks",
"webhooks-axum",
"sqlite-storage-nativetls",
"redis-storage",
"postgres-storage-nativetls",
"cbor-serializer",
"bincode-serializer",
"macros",
"ctrlc_handler",
"ronami-core/full",
"native-tls",
"rustls",
"throttle",
"cache-me",
"trace-adaptor",
"erased",
"tracing",
]
macros = ["ronami-macros"]
native-tls = ["ronami-core/native-tls"]
nightly = ["ronami-core/nightly"]
postgres-storage-nativetls = [
"sqlx",
"sqlx/runtime-tokio-native-tls",
"native-tls",
]
postgres-storage-rustls = [
"sqlx",
"sqlx/runtime-tokio-rustls",
"rustls",
]
redis-storage = ["deadpool-redis"]
rustls = ["ronami-core/rustls"]
rustls-native-roots = ["ronami-core/rustls-native-roots"]
sqlite-storage-nativetls = [
"sqlx",
"sqlx/runtime-tokio-native-tls",
"native-tls",
]
sqlite-storage-rustls = [
"sqlx",
"sqlx/runtime-tokio-rustls",
"rustls",
]
throttle = ["ronami-core/throttle"]
trace-adaptor = ["ronami-core/trace_adaptor"]
tracing = ["dep:tracing"]
webhooks = ["rand"]
webhooks-axum = [
"webhooks",
"axum",
"tower",
"tower-http",
]
[lib]
name = "ronami"
path = "src/lib.rs"
[[example]]
name = "admin"
path = "examples/admin.rs"
doc-scrape-examples = true
required-features = [
"macros",
"ctrlc_handler",
]
[[example]]
name = "buttons"
path = "examples/buttons.rs"
required-features = [
"macros",
"ctrlc_handler",
]
[[example]]
name = "chat_member_updates"
path = "examples/chat_member_updates.rs"
[[example]]
name = "command"
path = "examples/command.rs"
required-features = [
"macros",
"ctrlc_handler",
]
[[example]]
name = "db_remember"
path = "examples/db_remember.rs"
required-features = [
"sqlite-storage-nativetls",
"redis-storage",
"bincode-serializer",
"macros",
]
[[example]]
name = "deep_linking"
path = "examples/deep_linking.rs"
required-features = [
"macros",
"ctrlc_handler",
]
[[example]]
name = "dialogue"
path = "examples/dialogue.rs"
required-features = [
"macros",
"ctrlc_handler",
]
[[example]]
name = "dispatching_features"
path = "examples/dispatching_features.rs"
required-features = [
"macros",
"ctrlc_handler",
]
[[example]]
name = "heroku_ping_pong"
path = "examples/heroku_ping_pong.rs"
required-features = [
"webhooks-axum",
"ctrlc_handler",
]
[[example]]
name = "inline"
path = "examples/inline.rs"
required-features = [
"macros",
"ctrlc_handler",
]
[[example]]
name = "middlewares"
path = "examples/middlewares.rs"
required-features = ["ctrlc_handler"]
[[example]]
name = "middlewares_fallible"
path = "examples/middlewares_fallible.rs"
[[example]]
name = "ngrok_ping_pong"
path = "examples/ngrok_ping_pong.rs"
required-features = [
"webhooks-axum",
"ctrlc_handler",
]
[[example]]
name = "purchase"
path = "examples/purchase.rs"
required-features = [
"macros",
"ctrlc_handler",
]
[[example]]
name = "shared_state"
path = "examples/shared_state.rs"
required-features = ["ctrlc_handler"]
[[example]]
name = "throw_dice"
path = "examples/throw_dice.rs"
required-features = ["ctrlc_handler"]
[[test]]
name = "command"
path = "tests/command.rs"
[[test]]
name = "postgres"
path = "tests/postgres.rs"
required-features = [
"postgres-storage-nativetls",
"cbor-serializer",
"bincode-serializer",
]
[[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-nativetls",
"cbor-serializer",
"bincode-serializer",
]
[dependencies.axum]
version = "0.8.0"
optional = true
[dependencies.bincode]
version = "1.3"
optional = true
[dependencies.bytes]
version = "1.0"
[dependencies.deadpool-redis]
version = "0.22"
features = ["rt_tokio_1"]
optional = true
[dependencies.derive_more]
version = "2.0.1"
features = [
"display",
"from",
"deref",
]
[dependencies.dptree]
version = "0.5.1"
[dependencies.either]
version = "1.9.0"
[dependencies.futures]
version = "0.3.15"
[dependencies.log]
version = "0.4"
[dependencies.mime]
version = "0.3"
[dependencies.pin-project]
version = "1.0"
[dependencies.rand]
version = "0.9.2"
features = ["thread_rng"]
optional = true
default-features = false
[dependencies.ronami-core]
version = "1.5.0"
default-features = false
[dependencies.ronami-macros]
version = "1.5.0"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_cbor]
version = "0.11"
optional = true
[dependencies.serde_json]
version = "1.0"
[dependencies.sqlx]
version = "0.8.1"
features = [
"macros",
"sqlite",
"postgres",
]
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0.11"
[dependencies.tokio]
version = "1.39"
features = [
"fs",
"rt-multi-thread",
]
[dependencies.tokio-stream]
version = "0.1.8"
[dependencies.tokio-util]
version = "0.7"
[dependencies.tower]
version = "0.5.0"
optional = true
[dependencies.tower-http]
version = "0.6.2"
features = ["trace"]
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.url]
version = "2.2.2"
[dev-dependencies.chrono]
version = "0.4"
[dev-dependencies.pretty_env_logger]
version = "0.5.0"
[dev-dependencies.rand]
version = "0.9.2"
features = ["thread_rng"]
default-features = false
[dev-dependencies.reqwest]
version = "0.13.3"
[dev-dependencies.serde]
version = "1"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tokio]
version = "1.39"
features = [
"fs",
"rt-multi-thread",
"macros",
]
[dev-dependencies.tokio-stream]
version = "0.1"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(CI_POSTGRES)",
"cfg(CI_REDIS)",
]