#slack #webhook #messaging #hook #codebase

slack-hook2

使用webhook向Slack发送消息的Rust包

3个不稳定版本

0.10.1 2022年11月25日
0.10.0 2020年3月5日
0.9.0 2020年2月19日

#12 in #codebase

Download history 35/week @ 2024-04-22 19/week @ 2024-04-29 27/week @ 2024-05-06 20/week @ 2024-05-13 20/week @ 2024-05-20 53/week @ 2024-05-27 61/week @ 2024-06-03 18/week @ 2024-06-10 23/week @ 2024-06-17 52/week @ 2024-06-24 15/week @ 2024-07-08 41/week @ 2024-07-15 20/week @ 2024-07-22 61/week @ 2024-07-29 51/week @ 2024-08-05

每月175次下载
用于 2 crates

MIT/Apache

39KB
826

slack-hook2

crates.io MIT licensed Apache licensed

一个用于通过webhook向Slack发送消息的Rust包。是slack-hook包的现代分支。愿意在未来合并回东西。

Slack是一个团队协作的消息平台。

升级?请参阅变更日志

需要rust 1.35或更高版本。

注意:Slack webhook已被弃用。仅为此类旧代码库使用此包。

用法

将以下内容添加到您的Cargo.toml

[dependencies]
slack-hook2 = "0.10.1"

将包添加到您的现有项目中

use slack_hook2::{Slack, PayloadBuilder};

#[tokio::main]
async 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).await;
    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中的每个元素都被空格分隔)

      Hello Google, nice to know you.

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

许可证

此库的发布条件与Rust类似:MIT许可证和Apache许可证(版本2.0)双重授权。

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

依赖项

~4–16MB
~245K SLoC