12个版本 (重大变化)
0.10.1 | 2020年7月23日 |
---|---|
0.10.0 | 2019年9月2日 |
0.9.0 | 2019年9月2日 |
#17 in #mixer
62KB
1K SLoC
注意:Mixer已关闭,因此此库已无用。
Mixer Rust包装器
Rust语言的Mixer API包装器,位于https://dev.mixer.com/。
构建
要求
- Git
- Rust的最新版本Rust
步骤
git clone https://github.com/Celeo/mixer_rust_wrappers
cd mixer_rust_wrappers
cargo build
测试
使用cargo test
运行测试。
如果您想获取代码覆盖率,可以使用包含的./get_coverage.sh
脚本通过kcov。
在CI上这不太适用,因此没有徽章。
使用
将最新版本添加到您的Cargo.toml中并构建。
此库分为几个部分:一个用于REST API的小型便利包装器,以及一个用于Constellation实时API的包装器。
REST
REST包装器非常简单。它基本上只做两件事:
- 处理发送'client-id'头部
- 对于非成功的HTTP请求返回错误(2XX以外的)
使用以下方式创建一个REST
结构的实例
use mixer_wrappers::REST;
let client = REST::new("your_client_id_here");
如果您不知道您的客户端ID,您可以从Mixer获取。
使用以下方式发送API请求
use reqwest::Method;
let resp_text = client.query("GET", "some/endpoint", None, None).unwrap();
query
函数返回一个Result,因此请确保适当处理。
Constellation
此包装器使得监听和向实时API发送消息变得简单。从以下操作开始
use mixer_wrappers::ConstellationClient;
let (mut client, receiver) = ConstellationClient::connect("your_client_id_here").unwrap();
请注意,connect
方法返回一个Result。
您可以在文档中查看如何使用这些变量的更完整示例。
聊天
此包装器使得监听和向聊天服务器发送消息变得简单。由于聊天服务器没有特定的、恒定的端点,因此连接稍微复杂一些。
从以下操作开始
use mixer_wrappers::{ChatClient, REST};
let api = REST::new(&client_id);
let chat_helper = api.chat_helper();
let channel_id = chat_helper.get_channel_id("your_username_here").unwrap();
let endpoints = chat_helper.get_servers(channel_id).unwrap();
let (mut client, receiver) = Chat::connect(endpoints[0], "your_client_id_here").unwrap();
请注意,connect
方法返回一个Result。
您可以在文档中查看如何使用这些变量的更完整示例。
示例
在文档中提供了每个方法的用法示例。对于更完整的示例,请查看代码中方法的文档注释。
关于完整示例,请参阅./examples
目录。
许可证
许可协议为以下之一
- Apache License, Version 2.0, (LICENSE-APACHE)
- MIT 许可协议 (LICENSE-MIT)
贡献
请随时贡献。请在首先(或对现有的一个问题进行评论)之前,让我知道您想添加/更改某些内容。
除非您明确表示,否则您提交的任何有意包含在作品中的贡献,根据 Apache-2.0 许可协议定义,应按上述方式双重许可,无需任何附加条款或条件。
依赖项
~27–37MB
~694K SLoC