botrs 0.12.1

A Rust QQ Bot framework based on QQ Guild Bot API
Documentation
# 介绍

BotRS 是一个用 Rust 构建 QQ 频道机器人的异步框架。它将 QQ 频道 Bot API 与网关 WebSocket 协议封装为少量类型:`Client`、`EventHandler`、`Context`、`BotApi`、`Token` 和 `Intents`。使用本框架时,几乎所有工作都从这些类型出发。

## 架构概览

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

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

每次回调都会传入一个 `Context`,其中持有 `Arc<BotApi>` 和启动客户端时的 `Token`。`BotApi` 是带类型签名的 HTTP 层,如果需要在事件处理之外调用 REST API,也可以自行构造一个。

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

## 消息发送

所有发送方法都接受类型化的 `*Params` 构建器,而非一长串 `Option` 参数:

```rust
let params = MessageParams::new_text("你好")
    .with_reply(message_id)
    .with_markdown(true);
ctx.api.post_message_with_params(&ctx.token, "channel_id", params).await?;
```

`GroupMessageParams`、`C2CMessageParams`、`DirectMessageParams` 等的形态与之相同,完整集合见消息指南。

## 后续阅读

- [安装]/zh/guide/installation —— 将 `botrs` 加入 `Cargo.toml`- [快速开始]/zh/guide/quick-start —— 一个最小可运行机器人。
- [客户端与事件处理器]/zh/guide/client-handler —— 事件循环 API。
- [消息]/zh/guide/messages —— `*MessageParams` 构建器。
- [API 客户端]/zh/guide/api-client —— 使用 `BotApi``Context`