#slack #webhook #messaging #hook

slack-hooked

用于通过 webhooks 向 Slack 发送消息的 Rust crate

1 个不稳定版本

0.9.0 2022年6月25日

#33#slack

Download history 20/week @ 2024-03-31 1/week @ 2024-04-07 1/week @ 2024-04-21 2/week @ 2024-05-26 1/week @ 2024-06-02 192/week @ 2024-06-09 4/week @ 2024-06-16

每月 198 次下载
krecik 中使用

MIT/Apache

40KB
844

rusty-slack

Build, Test, and Styling

Release new packages

supply-chain security - Cargo audit

MIT licensed Apache licensed

用于通过 webhooks 向 Slack 发送消息的 Rust crate。

这是对 rust-slack 的维护分支。

Slack 是一个团队协作的即时通讯平台。

正在升级?请参阅 变更日志

需要 Rust 1.61 或更高版本。

用法

将此内容添加到您的 Cargo.toml

[dependencies]
slack-hook = "0.9"

将此 crate 添加到现有项目中

extern crate slack_hook;
use slack_hook::{Slack, PayloadBuilder};

fn main() {
    let slack = Slack::new("https://hooks.slack.com/services/abc/123/45z").unwrap();
    let p = PayloadBuilder::new()
      .text("test message")
      .channel("#testing")
      .username("My Bot")
      .icon_emoji(":chart_with_upwards_trend:")
      .build()
      .unwrap();

    let res = slack.send(&p);
    match res {
        Ok(()) => println!("ok"),
        Err(x) => println!("ERR: {:?}",x)
    }
}

附件

仅创建包含附件的负载

extern crate slack_hook;
use slack_hook::{PayloadBuilder, AttachmentBuilder};

fn main() {
  let _ = PayloadBuilder::new()
    .attachments(vec![AttachmentBuilder::new("my text").color("#b13d41").build().unwrap()])
    .build()
    .unwrap();
}

Slack 消息 API 允许您在文本中发送链接。然而,由于不同的格式化规则,这些文本片段需要按如下方式指定

extern crate slack_hook;
use slack_hook::{PayloadBuilder, SlackTextContent, SlackLink};
use slack_hook::SlackTextContent::{Text, Link};

fn main() {
  let _ = PayloadBuilder::new()
    .text(vec![
      Text("Hello".into()),
      Link(SlackLink::new("https://google.com", "Google")),
      Text(", nice to know you.".into())
    ].as_slice())
    .build()
    .unwrap();
}

发送此负载将在 Slack 中打印以下内容(注意:每个 Vec 的元素都用空格分隔)

      你好 Google,很高兴认识你。

此技术可用于任何具有 Into<SlackText> 特性约束的函数。

许可证

此库根据与 Rust 相似的条款进行分发:双许可,MIT 许可证和 Apache 许可证(版本 2.0)。

有关详细信息,请参阅 LICENSE-APACHELICENSE-MITCOPYRIGHT

依赖关系

~7–23MB
~323K SLoC