[package]
edition = "2024"
rust-version = "1.98"
name = "cratefield-module-telegram"
version = "0.1.7"
build = false
include = [
"src/**/*",
"migrations/**/*",
"tests/**/*",
"README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cratefield module: the Telegram webhook, account linking, consent buttons with passkey confirmation, and a notifications channel"
readme = "README.md"
keywords = [
"cratefield",
"telegram",
"bot",
"webhook",
"module",
]
categories = ["web-programming"]
license = "MIT"
repository = "https://github.com/Cratefield/harness"
[features]
notifications = ["dep:cratefield-module-notifications"]
[lib]
name = "cratefield_module_telegram"
path = "src/lib.rs"
[[test]]
name = "actions"
path = "tests/actions.rs"
[[test]]
name = "channel"
path = "tests/channel.rs"
[[test]]
name = "conformance"
path = "tests/conformance.rs"
[[test]]
name = "routes"
path = "tests/routes.rs"
[[test]]
name = "step_up"
path = "tests/step_up.rs"
[dependencies.async-trait]
version = "0.1.92"
[dependencies.axum]
version = "0.8.9"
features = [
"json",
"query",
"form",
"matched-path",
"original-uri",
]
default-features = false
[dependencies.base64]
version = "0.23.1"
[dependencies.cratefield-adapter-telegram]
version = "0.1.2"
[dependencies.cratefield-core]
version = "0.10"
[dependencies.cratefield-module-notifications]
version = "0.3.8"
optional = true
[dependencies.hex]
version = "0.4.3"
[dependencies.hmac]
version = "0.13.0"
[dependencies.http]
version = "1.5.0"
[dependencies.schemars]
version = "1.2.2"
features = ["preserve_order"]
[dependencies.sea-query]
version = "0.32.7"
features = [
"backend-sqlite",
"thread-safe",
]
default-features = false
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.sha2]
version = "0.11.0"
[dependencies.time]
version = "0.3.45"
features = [
"std",
"formatting",
"parsing",
"wasm-bindgen",
]
default-features = false
[dependencies.tracing]
version = "0.1.44"
[dev-dependencies.pollster]
version = "0.4"
features = ["macro"]
[dev-dependencies.tower]
version = "0.5.3"
features = ["util"]
[lints.clippy]
all = "warn"
pedantic = "warn"
[lints.clippy.must_use_candidate]
level = "allow"
priority = 1
[lints.rust]
trivial_numeric_casts = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
unsafe_code = "forbid"