3个不稳定版本
0.10.1 | 2022年11月25日 |
---|---|
0.10.0 | 2020年3月5日 |
0.9.0 | 2020年2月19日 |
#12 in #codebase
每月175次下载
用于 2 crates
39KB
826 行
slack-hook2
一个用于通过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-APACHE、LICENSE-MIT和COPYRIGHT。
依赖项
~4–16MB
~245K SLoC