16个版本 (6个破坏性更新)
0.9.2 | 2024年6月22日 |
---|---|
0.9.1 | 2024年6月22日 |
0.8.0 | 2024年6月19日 |
0.7.0 | 2024年6月18日 |
0.2.4 | 2024年6月16日 |
#947 in 网络编程
每月下载量153次
99KB
3K SLoC
Hubbub
Rust库,用于创建Discord自建机器人(处于非常早期开发阶段)
当前功能
- 允许传递一个模型
- 使用令牌连接到网关
- 支持重新连接到网关(半测试,应该可行)
- 支持调用Discord的HTTP API(任何版本)
- 支持发送和接收网关事件
- 大多数 Discord的许多数据结构已转换为serde兼容的结构体
- 主要结构体有方便的函数用于执行常见任务(例如:创建消息)
使用库
- 使用
cargo add hubbub
将库添加到项目中 - 导入
hubbub::prelude::*:
- 创建你的模型
struct App {
// ...
}
- 创建客户端
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let mut client = Client::new(
App { /* ... */ },
/* Event handler */
).await?;
client.token(/* Token */).await?;
client.login().await?;
client.run().await?;
}
- 创建事件处理器
async fn main() {
// ...
/* Event handler */
Box::from(
|ctx: Ctx, ws: Ws, model: Model<App>, msg: DiscordMessage| async move {
/* do work here */
}
)
// ...
}
- 成功,希望如此!
有任何问题吗?
- 查看示例
- 查看
Context
和DiscordMessage
结构体 - 查看
prelude
依赖
~8–22MB
~311K SLoC