6个版本
1.2.2 |
|
---|---|
1.2.1 |
|
0.3.2-alpha | 2024年7月24日 |
0.3.0-alpha | 2024年5月15日 |
0.1.0 | 2024年1月17日 |
#497 in 网络编程
204 每月下载
130KB
3K SLoC
safe-vk
一个简单的库,提供简单的API,用于在Rust 🦀中创建自己的VK聊天机器人
当前状态
此库尚未包含所有VK API方法,但已具备足够的功能,可以包装ComfyUI API或甚至oobabooga API。更多内容请参阅示例。
未来计划
- 改进异步代码
- 支持更多VK API方法
- 更多测试
- 编写代码文档
- 简化代码
- 为键盘创建路由
先决条件
请确保已安装Rust稳定版本1.79.0或夜间版本1.82.0。此库已对这些版本进行了测试,并且与之兼容。
概述
- 与最新的API版本5.199兼容
- 使用与流行Web框架相同的
routes
- 内部使用serde_json、tokio和reqwest
安装
$ cargo add safe-vk
$ cargo update
问候
use safe_vk::{extract::Ctx, responses::Message, Filter, Result, SafeVk};
use std::env;
async fn reply(update: Ctx<Message>) -> Result<()> {
update.messages().send().random_id(0).message("hi").await?;
Ok(())
}
#[tokio::main]
async fn main() {
let token = env::var("TOKEN").expect("TOKEN environment variable not set");
let bot = SafeVk::new().command("/hello", reply, Filter::Strict);
safe_vk::start_polling(&token, bot).await.unwrap();
}
更多示例
更多信息,请尝试示例。要运行示例,请在您的终端中使用以下命令
$ TOKEN=YOUR_TOKEN cargo run --example reply
$ TOKEN=YOUR_TOKEN cargo run --example comfyui
$ TOKEN=YOUR_TOKEN cargo run --example oobabooga
$ TOKEN=YOUR_TOKEN cargo run --example macros
$ TOKEN=YOUR_TOKEN cargo run --example keyboard
$ TOKEN=YOUR_TOKEN cargo run --example members
$ TOKEN=YOUR_TOKEN cargo run --example state
别忘了包含您的令牌!
动机
我进行此项目的首要目标是学习如何与异步代码协同工作,并了解Rust强大的安全类型系统。此项目深受axum crate的启发。请随时贡献并提出新想法!将在我有动力和空闲时间时进行更新。
许可
safe-vk
可在 MIT 许可下使用。有关详细信息,请参阅 MIT 许可文件
依赖项
~8–21MB
~317K SLoC