[package]
edition = "2021"
rust-version = "1.75"
name = "foukoapi"
version = "0.1.0-alpha.1"
authors = ["Fouko <mail@fouko.xyz>"]
build = false
include = [
"src/**/*.rs",
"examples/**/*.rs",
"Cargo.toml",
"README.md",
"LICENSE",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cross-platform bot framework in Rust. Write your handlers once, run the same bot on Telegram and Discord with shared accounts, embeds, keyboards and SQLite storage."
homepage = "https://api.fouko.xyz"
documentation = "https://docs.rs/foukoapi"
readme = "README.md"
keywords = [
"bot",
"telegram",
"discord",
"chat",
"framework",
]
categories = [
"api-bindings",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/FoukoDev/FoukoApi"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = [
"telegram",
"discord",
"sqlite",
]
discord = ["dep:serenity"]
full = [
"telegram",
"discord",
"sqlite",
]
sqlite = ["dep:rusqlite"]
telegram = [
"dep:teloxide",
"dep:url",
"dep:reqwest",
]
[lib]
name = "foukoapi"
path = "src/lib.rs"
[[example]]
name = "quickstart"
path = "examples/quickstart.rs"
required-features = [
"telegram",
"discord",
]
[dependencies.async-trait]
version = "0.1"
[dependencies.dotenvy]
version = "0.15"
[dependencies.futures]
version = "0.3"
[dependencies.reqwest]
version = "0.11"
features = [
"rustls-tls",
"socks",
]
optional = true
default-features = false
[dependencies.rusqlite]
version = "0.30"
features = ["bundled"]
optional = true
[dependencies.serenity]
version = "0.12"
features = [
"client",
"gateway",
"rustls_backend",
"model",
"utils",
]
optional = true
default-features = false
[dependencies.teloxide]
version = "0.13"
features = [
"macros",
"rustls",
"ctrlc_handler",
]
optional = true
default-features = false
[dependencies.thiserror]
version = "1"
[dependencies.tokio]
version = "1.40"
features = [
"rt-multi-thread",
"macros",
"signal",
"sync",
"time",
]
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2"
optional = true
[dev-dependencies.tokio]
version = "1.40"
features = ["full"]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]