5 个稳定版本
1.0.5 | 2024年8月8日 |
---|---|
1.0.4 | 2024年6月24日 |
1.0.3 | 2024年6月14日 |
1.0.2 | 2024年5月26日 |
在 开发工具 中排名第 239
每月下载量 856
在 tgt 中使用
315KB
621 行代码(不含注释)
tdlib-rs
Telegram 数据库库的 Rust 封装。它包括一个生成器,可以从 TDLib 的 类型语言 文件中自动生成类型和函数。
为什么要创建这个分支?
这是对 tdlib-rs 库的改进版本,具有以下额外功能:
- 跨平台,支持 Windows、Linux 和 MacOS。
- 不需要在系统上编译和安装
tdlib
。 - 不需要
pkg-config
来构建库和相关的导出变量。 - 三种不同的库构建方式
download-tdlib
:从 GitHub 发布版本下载预编译库。local-tdlib
:使用系统上安装的tdlib
。pkg-config
:使用pkg-config
来构建库。
- 可以从 GitHub 发布版本中下载
tdlib
库。
信息
我们为支持的平台提供了库的预编译版本
- Linux (x86_64)
- Windows (x86_64)
- macOS Intel (x86_64)
- macOS Apple Silicon (arm64)
我们在 CI 中编译它,并将工件上传到 GitHub 发布版本,因此我们可以下载它并用于构建此库。
主要用于在 tgt 客户端中使用,但也适用于任何其他 Rust 项目。
当前支持的 TDLib 版本:1.8.29。
Cargo 特性
有关功能请参阅模块 build
的文档。这些功能可以帮助您以不同的方式构建库。
download-tdlib
如果您不想手动在系统上编译和安装 tdlib
,您应该在 Cargo.toml
文件中启用 download-tdlib
特性
[dependencies]
tdlib = { version = "...", features = [ "download-tdlib" ] }
[build-dependencies]
tdlib = { version = "...", features = [ "download-tdlib" ] }
// build.rs
fn main() {
tdlib_rs::build::build(None);
}
local-tdlib
local-tdlib
需要您在系统上编译并安装 tdlib
(版本 1.8.29),并导出以下变量,例如在 .bashrc
文件中
# The path to the tdlib folder
export LOCAL_TDLIB_PATH=$HOME/lib/tdlib
然后您可以在 Cargo.toml
文件中启用 local-tdlib
功能
[dependencies]
tdlib = { version = "...", features = [ "local-tdlib" ] }
[build-dependencies]
tdlib = { version = "...", features = [ "local-tdlib" ] }
// build.rs
fn main() {
tdlib_rs::build::build(None);
}
pkg-config
如果您想使用 pkg-config
构建此库,您应在 Cargo.toml
文件中启用 pkg-config
功能
[dependencies]
tdlib = { version = "...", features = [ "pkg-config" ] }
[build-dependencies]
tdlib = { version = "...", features = [ "pkg-config" ] }
// build.rs
fn main() {
tdlib_rs::build::build(None);
}
请确保在您的系统上编译了 tdlib
(版本 1.8.29),并且已导出以下变量,例如在 .bashrc
文件中
# pkg-config configuration
export PKG_CONFIG_PATH=$HOME/lib/tdlib/lib/pkgconfig/:$PKG_CONFIG_PATH
# dynmic linker configuration
export LD_LIBRARY_PATH=$HOME/lib/tdlib/lib/:$LD_LIBRARY_PATH
文档
此功能跳过库的链接,只生成 generated.rs
的代码。仅用于测试。
bots-only-api
此功能启用仅用于 Telegram 机器人的函数的生成。
许可证
此存储库受以下其中之一许可
- Apache 许可证,版本 2.0 ([LICENSE-APACHE][github-license-apache] 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 ([LICENSE-MIT][github-license-mit] 或 http://opensource.org/licenses/MIT)
您可选择。
请查阅存储库中提供的许可证文件,以获取有关许可证条款和条件的更多信息。
联系方式
- 电子邮件
- GitHub
致谢
- grammers:
tdlib-tl-gen
和tdlib-tl-parser
项目是grammers-tl-gen
和grammers-tl-parser
项目的分支。 - rust-tdlib: 获取一些客户端代码的灵感。
- tdlib-rs: 获取生成代码的灵感。
依赖关系
~1–14MB
~173K SLoC