5个版本

1.0.0-alpha…2024年2月26日
1.0.0-alpha…2024年2月23日
1.0.0-alpha…2024年2月22日

WebAssembly中排名第269

Download history 25/week @ 2024-04-02

每月下载量194

BSD-2-Clause-Patent

15KB
209 代码行

flawless-slack

docs.rs docs crates.io version

Rust的通用传输协议Slack客户端。

动机

Rust代码可以在许多地方运行,从小型嵌入式系统到浏览器。这些环境彼此之间非常不同。有些要求你实现自己的TCP实现,而有些甚至不提供对TCP等底层原语的低级访问。

flawless-slack旨在构建一个在“任何地方”都能同等良好工作的Slack客户端。它起源于在flawless持久执行引擎中需要Slack客户端的需求。该引擎运行编译为WebAssembly的Rust代码,并且不提供对TCP流的原始访问,也不提供异步执行器可以使用的不阻塞syscalls。这使得大多数其他Slack客户端库都不适用。

默认情况下,flawless-slack将在非WebAssembly的系统上使用reqwest::blocking作为传输层。当编译为wasm32-unknown-unknown时,它将使用flawless实现。然而,所有默认传输层都可以被禁用,并由你直接提供,如果你想在自定义环境中使用它。

快速入门

Slack客户端需要两个参数,一个密钥令牌和一个HTTP客户端实现。如果你想在flawless中使用客户端,可以使用提供的FlawlessHttpClient

use flawless_slack::{http_client::flawless_http_client::FlawlessHttpClient, SlackClient};

let secret_token = "<SECRET>".to_owned();
let slack_client = SlackClient::new(secret_token, FlawlessHttpClient {});

slack_client.send_message("#general","Hello World!").ok();

依赖项

~0.7–13MB
~160K SLoC