12个版本 (重大变化)

0.10.1 2020年7月23日
0.10.0 2019年9月2日
0.9.0 2019年9月2日

#17 in #mixer

Apache-2.0 AND MIT

62KB
1K SLoC

注意:Mixer已关闭,因此此库已无用。

Mixer Rust包装器

CircleCI Crates.io Docs.rs

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包装器非常简单。它基本上只做两件事:

  1. 处理发送'client-id'头部
  2. 对于非成功的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-2.0 许可协议定义,应按上述方式双重许可,无需任何附加条款或条件。

依赖项

~27–37MB
~694K SLoC