6个版本

1.2.2 2024年4月12日
1.2.1 2024年4月10日
0.3.2-alpha2024年7月24日
0.3.0-alpha2024年5月15日
0.1.0 2024年1月17日

#497 in 网络编程

Download history 82/week @ 2024-05-15 11/week @ 2024-05-22 6/week @ 2024-05-29 1/week @ 2024-06-26 34/week @ 2024-07-03 191/week @ 2024-07-24 13/week @ 2024-07-31

204 每月下载

自定义许可

130KB
3K SLoC

Static Badge Static Badge Crates.io

safe-vk

一个简单的库,提供简单的API,用于在Rust 🦀中创建自己的VK聊天机器人

当前状态

此库尚未包含所有VK API方法,但已具备足够的功能,可以包装ComfyUI API或甚至oobabooga API。更多内容请参阅示例

未来计划

  • 改进异步代码
  • 支持更多VK API方法
  • 更多测试
  • 编写代码文档
  • 简化代码
  • 为键盘创建路由

先决条件

请确保已安装Rust稳定版本1.79.0或夜间版本1.82.0。此库已对这些版本进行了测试,并且与之兼容。

概述

安装

$ 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