12 个版本 (破坏性更新)
新 0.79.0 | 2024年8月14日 |
---|---|
0.77.0 | 2024年7月14日 |
0.71.0 | 2024年3月9日 |
#1074 in 网页编程
每月200 次下载
1MB
16K SLoC
Telegram
Telegram bots api 简单 Rust 封装,仅此而已。
特性
- async: 异步执行 API 调用
- sync: 同步执行 API 调用
安装
运行 cargo add telegram_bots_api
,或将行添加到 Cargo.toml
[dependencies]
telegram_bots_api = "0.79.0"
rust-version = "1.74.0"
配置
USAGE:
sync-playground [FLAGS] [OPTIONS] --token <token>
FLAGS:
-d, --debug Environment: Debug mode
-h, --help Prints help information
-p, --production Environment: Is production
-V, --version Prints version information
OPTIONS:
--connect-timeout <connect-timeout> Client: Connect timeout in secs. Set a timeout for only the connect phase
[default: 5]
--timeout <timeout> Client: Timeout in secs. The timeout is applied from when the request
starts connecting until the response body has finished [default: 5]
--token <token> Telegram: Token
--updates-limit <updates-limit> Updates: Limits the number of updates to be retrieved [default: 100]
--updates-offset <updates-offset> Updates: Identifier of the first update to be returned [default: 0]
--updates-timeout <updates-timeout> Updates: Timeout in seconds for long polling [default: 0]
--url <url> Telegram: Api url [default: https://api.telegram.org]
如何使用
仅需要一个必需的标志是 token
,示例运行
$ cargo run -- --token 0000000000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
文件结构
.
├── Cargo.lock # Lock file
├── Cargo.toml # Toml file
├── LICENSE # LICENSE
├── README.md # README
├── /examples # Examples
│ ├── /async
│ │ ├── get_me.rs
│ │ └── playground.rs
│ └── /sync
│ ├── get_me.rs
│ └── playground.rs
├── postman.json # Postman collection
└── /src # Source code
├── /api # Api structs definitions
│ ├── /enums # Enums
│ │ ├── bot_command_scope.rs
│ │ ...
│ │ └── reply_markup.rs
│ ├── enums.rs
│ ├── mod.rs
│ ├── /params # Params structs for payload
│ │ ├── add_sticker_to_set.rs
│ │ ...
│ │ └── upload_sticker_file.rs
│ ├── params.rs
│ ├── /requests # Request traits
│ │ ├── async.rs
│ │ └── sync.rs
│ ├── requests.rs
│ ├── /responses # Telegram responses structs definitions
│ │ ├── error.rs
│ │ ├── parameters.rs
│ │ └── result.rs
│ ├── responses.rs
│ ├── /types # Telegram types
│ │ ├── animation.rs
│ │ ...
│ │ └── write_access_allowed.rs
│ └── types.rs
├── /clients # Clients definitions
│ ├── async.rs
│ ├── mod.rs
│ └── sync.rs
├── config.rs # Config definition
├── errors.rs # Errors definition
├── lib.rs
└── /tests
├── /clients # Cleints
│ ├── async.rs # Async client tests
│ ├── mod.rs
│ └── sync.rs # Sync client tests
├── config.rs # Config tests
├── errors.rs # Errors tests
├── /helpers # Helpers for tests
│ ├── mocked_async.rs
│ ├── mocked_sync.rs
│ └── mod.rs
├── mod.rs
└── responses # Example of json responses
├── add_sticker_to_set_error.json
...
└── upload_sticker_file_success.json
依赖项
~12–30MB
~453K SLoC