Skip to content

介绍

BotRS 是一个用 Rust 构建 QQ 机器人的异步框架。它将 QQ 网关事件与机器人 OpenAPI 封装为少量类型:ClientEventHandler、session 类型、BotApiTokenIntents。使用本框架时,几乎所有工作都从这些类型出发。

架构概览

Client 拥有网关连接和 HTTP 客户端。构造它需要 TokenIntents 位集、EventHandler 实现,以及一个布尔值用来选择沙箱或正式环境基础地址。调用 client.start().await 之后,网关会把事件分派到你的处理器。

EventHandler 是一个 trait,每个事件对应一个带默认实现的 async fn(例如 message_createdirect_message_createguild_createforum_thread_create 等)。只实现关心的事件即可。

每次回调都会传入一个 session 对象。Reply session 提供顺手的 replysend_*_message 和底层 send_message 方法;event session 通过 session.event() 暴露类型化载荷。BotApi 是带类型签名的 HTTP 层,并持有 REST 调用所需的 token;如果需要在事件处理之外调用 REST API,也可以自行构造一个。

Intents 是一个位标志集合,告诉网关需要投递哪些事件类别,按需订阅可以减少无用流量。

消息发送

Reply session 直接覆盖常见发送场景:

rust
session.reply("你好").await?;
session.send_markdown_message("# hello").await?;

独立调用 BotApi 或需要自定义字段时,使用 MessageParams::new_textGroupMessageParams::new_mediaC2CMessageParams::new_embedDirectMessageParams::new_markdown 等类型化 params 构造器。

后续阅读

基于 MIT 许可证发布